Il flusso di accesso che proponi è:
- L'utente accede al sito con nome utente e password.
- Un link viene inviato via email all'indirizzo di posta elettronica dell'utente registrato (e presumibilmente verificato)
- L'utente fa clic sul collegamento per completare la procedura di accesso.
Anche se non lo descrivi, un tipico flusso di recupero della password è:
- L'utente chiede di recuperare la password.
- Devono fornire una combinazione di indirizzo email, nome utente, risposta alle domande, ecc ...
- Un'e-mail viene inviata all'indirizzo email registrato dell'utente con un link di reimpostazione della password o una password temporanea.
Se lo si utilizza, significa che l'accesso all'e-mail di un utente consentirà a un utente malintenzionato di reimpostare la password e quindi di eseguire correttamente il flusso di lavoro di accesso. Questo non è migliore dello schema standard di login e password, quindi non sprecare energia su di esso. 1
Se non si utilizza l'e-mail per il recupero della password, allora penso che questa soluzione offra una sicurezza aggiuntiva, anche se è discutibile quanto. E tutto ciò che risparmia è la seccatura per l'utente di dover digitare un codice inviato a loro in SMS o tramite un'app di autenticazione mobile.
Non si specificano le proprietà del collegamento di accesso. Dovrebbe essere il caso che funzioni solo se l'utente apre quel collegamento nello stesso browser in cui ha avviato il processo di accesso. Se funzionasse in qualsiasi browser, il collegamento sarebbe sufficiente per entrare effettivamente in quella dell'utente account.
1 In realtà è un po 'meglio come un attaccante che ha solo un breve accesso alla casella di posta dell'utente non può entrare. Devono accedervi due volte: una volta per resettare la password e ancora una volta per fare clic sul link di accesso. Pertanto, la richiesta di due e-mail aiuterà nell'improbabile caso in cui l'autore dell'attacco abbia tempo sufficiente per lavorare attraverso uno dei flussi di lavoro prima di perdere l'accesso all'e-mail della vittima.