Scrivo un livello di sicurezza per la mia app e desidero ricevere suggerimenti sull'aggiornamento degli indirizzi email degli utenti (utilizzato anche per il login).
Mi interessa sapere da chiunque abbia scritto un'applicazione con requisiti simili. Come faresti a riguardo? Ecco alcuni modi in cui ho pensato, ma sospetto che mi manchi qualcosa:
Approccio uno
- Aggiorna l'indirizzo e invia un'email di conferma al nuovo indirizzo
- Se l'indirizzo non viene confermato con 48 ore, sospenderlo
- È facile.
- Se il nuovo indirizzo è errato, l'utente viene escluso dall'account.
- Qualcuno può dirottare l'account cambiando l'indirizzo dell'utente.
Approccio 2
- Aggiorna l'indirizzo e archivia temporaneamente il vecchio valore
- Invia una email di notifica al vecchio indirizzo con un'opzione per revocare la modifica
- Invia un'email di conferma al nuovo indirizzo
- Ripristino il vecchio indirizzo se l'utente revoca la modifica (tramite l'e-mail di notifica)
-
Se la modifica non viene revocata, ma il nuovo indirizzo non viene confermato entro 48 ore, sospendo l'account.
- sicura
- Molto più lavoro
Approccio tre
- Non aggiornare l'indirizzo ma memorizzare temporaneamente il nuovo valore
- Invia un'email di conferma al vecchio indirizzo per confermare la modifica.
- Se la modifica è confermata, esegui l'aggiornamento e invia un'email di conferma al nuovo indirizzo.
-
Se il nuovo indirizzo non viene confermato con 48 ore, sospendi l'account.
- sicura
- Molto più lavoro
È meglio essere il più sicuro possibile, ma non voglio escludere l'utente dandogli 1001 cose da fare solo per cambiare un indirizzo email.
Potrebbero anche avere indirizzi email secondari , non utilizzati per l'accesso, ma per altri scopi e non sono sicuro di come gestire gli aggiornamenti a tali indirizzi. Le idee sono ben accette.