La tipica procedura di registrazione è ovviamente:
- Alice immette l'indirizzo email e la password desiderata (e possibilmente altri dati).
- Viene inviata un'email di verifica all'indirizzo fornito da Alice.
- Alice conferma il suo indirizzo email tramite un link (con un token univoco) nell'email.
- Alice ora ha accesso al servizio.
Ma nel caso di servizi in cui gli utenti invitano altri inserendo i loro indirizzi email, ha senso semplificare la procedura di registrazione? Se il nuovo utente arriva al sito tramite un collegamento email, non è possibile saltare l'email di verifica?
Il flusso dovrebbe invece essere:
- Alice (un utente esistente) invita Bob al servizio inserendo il suo indirizzo email nella funzione di invito del servizio.
- Bob riceve l'email, che ha un collegamento (sempre con un token) alla pagina di registrazione.
- La pagina di registrazione è precompilata con l'indirizzo email di Bob, quindi tutto ciò che deve fare è scegliere una password (il token viene propagato, quindi Bob non può creare una richiesta per sovrascrivere l'indirizzo email precompilato).
- Bob ha accesso immediatamente.
Non mi sorprenderebbe se alcuni servizi lo facessero già, io non ne ho visto nessuno (almeno nessuno che io ricordi).
Per quanto posso dire, il secondo flusso fornisce la stessa quantità di verifica / conferma del primo; in entrambi i casi, l'utente segue un collegamento con un token univoco che è legato al loro indirizzo. O, in ogni caso, un account di posta elettronica a cui hanno accesso.
Ma è lo stesso? Il flusso alterato fornisce un punto d'appoggio per gli attaccanti?