Autenticazione basata su token e più sessioni

5

Ho un sistema di autenticazione basato su token (REST) che ho ereditato per un'app per iOS (non posso cambiare), e devo riutilizzare lo stesso sistema di autenticazione web API (che posso cambiare per adattarmi per le richieste web sono ancora disponibili per l'app iOS).

Ecco come funziona il sistema di autenticazione.

  1. nome utente, password - > se valido, un token viene restituito all'utente e anche salvato nel database

  2. getNewToken - > passa il vecchio authToken, web api verifica dalla tabella, emette un nuovo token, aggiorna la tabella del database

1 viene attivato dal login utente mentre 2 è una chiamata automatica basata su intervalli ogni 15 minuti dall'app iOS (credo di mantenere viva la sessione, come il battito cardiaco)

Ora quando l'utente è sul web e accede, chiamo # 1 per ottenere il token, ma se l'utente è già sul dispositivo, il vecchio token sul dispositivo non funzionerà perché è stato aggiornato sul server come risultato della firma dell'utente sul Web.

Questo mi fa meraviglia e alla luce dello scenario di cui sopra la mia domanda è come vengono gestite più sessioni utilizzando il sistema di autenticazione token là fuori nella vita reale, ad esempio potrei aprire gmail o Facebook in due diversi browser ed entrambe le sessioni sono mantenute ( Non sono sicuro che stiano usando un sistema basato su token o altri, ma diciamo che sono per un esempio). Si prega di avvisare.

    
posta user2727195 12.05.2015 - 20:23
fonte

1 risposta

1

Sì, se id è id del dispositivo, in quanto è necessario archiviare l'id del dispositivo in qualche luogo. Se è possibile installare programmi sul server in modo migliore per memorizzare i token di accesso non nel database ma in alcuni archivi di valori di chiavi esterne come redis o memcached, se è possibile farlo ovviamente.

    
risposta data 12.05.2015 - 21:16
fonte

Leggi altre domande sui tag