Con alcune piattaforme, come LinkedIn, puoi visualizzare un elenco di tutte le sessioni in cui hai effettuato l'accesso e puoi persino effettuare il logout a distanza.
Come implementeresti qualcosa del genere? Non sto parlando di codice specifico, ma di più sul flusso generale.
Sto utilizzando ASP.NET da solo, ma penso che un approccio generale sarebbe più utile per gli altri.
In questo momento sto pensando a qualcosa di simile:
- Accesso utente, convalida combinazione email / password
- Genera GUID, salva nel database insieme a UserId e informazioni sul browser.
- Inserisci cookie in un cookie di sola lettura server.
- Quando l'utente vuole uscire da una distanza, rimuoviamo il GUID nel database.
Uno dei problemi di sicurezza qui è che il GUID può essere intercettato e un utente malintenzionato potrebbe utilizzarlo per accedere.
Quindi, come farlo correttamente?