Al momento abbiamo quello che ritengo sia uno schema piuttosto standard per gestire i reset della password. I nostri link di ripristino sono collegamenti monouso: scadono immediatamente dopo essere stati visitati, anche se l'utente non reimposta la propria password.
Tuttavia, i nostri clienti sono prevalentemente (al 99%) aziende con filtri antispam aggressivi. In particolare, alcuni dei nostri maggiori clienti (distretti scolastici) dispongono di filtri antispam che eseguono la scansione dei collegamenti. Visitano i link [fino a N] in un'email come parte dei loro algoritmi. Quando gli utenti richiedono una reimpostazione della password, i collegamenti sono "scaduti" dalla visita del filtro antispam prima che l'utente li veda.
Esistono alternative al link monouso ugualmente sicure? O che abbastanza sono sicuri di rientrare nel campo delle pratiche accettabili?
Dobbiamo anche considerare l'usabilità. I nostri clienti sono generalmente non tecnici come si può ottenere. Quindi, idealmente, la procedura di reimpostazione della password non diventerà [molto] più complicata per l'utente.
Ecco cosa abbiamo pensato finora:
- Salva il token di ripristino nella sessione. Il link rimarrà attivo mentre la sessione del browser originale è aperta e / o la password non è stata effettivamente ripristinata. Può complicare il processo per gli utenti che utilizzano due dispositivi diversi per la loro posta elettronica e la navigazione (ad esempio, email sul telefono + laptop per la navigazione).
- Scade il link dopo N minuti. Penso di averlo visto. Ma, non so quale limite di tempo è un equilibrio accettabile tra utilizzabile e sicuro.
- Scade il link solo dopo che il modulo è stato inviato. Alcuni utenti possono visitare il link, inserendolo in una cronologia del browser, ma non inviare mai il modulo. È un livello accettabile di rischio?