Autenticação baseada em token e várias sessões

5

Eu tenho um sistema de autenticação baseado em tokens (REST) que herdei para um aplicativo iOS (não posso alterar), e tenho que reutilizar o mesmo sistema de API da web de autenticação (que eu posso alterar para me adaptar as solicitações da Web enquanto ainda acomoda o aplicativo iOS).

Veja como funciona o sistema de autenticação.

  1. nome de usuário, senha - > se for válido, um token é retornado ao usuário e também salvo no banco de dados

  2. getNewToken - > passa o antigo authToken, web api verifica da tabela, emite um novo token, atualiza a tabela do banco de dados

1 é acionado pelo login do usuário, enquanto 2 é chamado de intervalo automatizado a cada 15 minutos pelo aplicativo iOS (eu acho que para manter a sessão viva, como batimentos cardíacos)

Agora, quando o usuário está na Web e faz login, eu chamo # 1 para obter o token, mas se o usuário já estiver no dispositivo, o token antigo no dispositivo não funcionará porque foi atualizado no servidor como um resultado da assinatura do usuário na Web.

Isso me faz pensar e à luz do cenário acima minha pergunta é como várias sessões são tratadas usando o sistema de token de autenticação na vida real, por exemplo, eu poderia abrir gmail ou Facebook em dois navegadores diferentes e ambas as sessões são mantidas ( Eu não tenho certeza se eles estão usando o sistema baseado em token ou algum outro, mas digamos que eles são para um exemplo). Por favor informar.

    
por user2727195 12.05.2015 / 20:23
fonte

1 resposta

1

Sim, se id for id do dispositivo, você precisará armazenar o id do dispositivo em algum lugar. Se você puder instalar programas no servidor melhor para armazenar tokens de login não no banco de dados, mas em algum armazenamento de valor de chave externa como redis ou memcached, se você puder fazê-lo, é claro.

    
por 12.05.2015 / 21:16
fonte