El procedimiento de registro típico es, por supuesto:
- Alice ingresa la dirección de correo electrónico y la contraseña deseada (y posiblemente otros datos).
- Se envía un correo electrónico de verificación a la dirección que Alice proporcionó.
- Alice confirma su dirección de correo electrónico a través de un enlace (con un token único) en el correo electrónico.
- Alice ahora tiene acceso al servicio.
Pero en el caso de servicios donde los usuarios invitan a otros al ingresar sus direcciones de correo electrónico, ¿tiene sentido simplificar el procedimiento de registro? Si el nuevo usuario llega al sitio a través de un enlace de correo electrónico, ¿no se puede omitir el correo electrónico de verificación?
El flujo sería en su lugar:
- Alice (un usuario existente) invita a Bob al servicio ingresando su dirección de correo electrónico en la función de invitación del servicio.
- Bob recibe el correo electrónico, que tiene un enlace (nuevamente con un token) a la página de registro.
- La página de registro está precargada con la dirección de correo electrónico de Bob, por lo que todo lo que tiene que hacer es elegir una contraseña (el token también se propaga, por lo que Bob no puede enviar una solicitud para anular la dirección de correo electrónico rellenada).
- Bob tiene acceso inmediatamente.
No me sorprendería si algunos servicios ya lo hacen, simplemente no he visto ninguno (al menos ninguno que pueda recordar).
Por lo que puedo decir, el segundo flujo proporciona la misma cantidad de verificación / confirmación que el primero; en cualquier caso, el usuario sigue un enlace con un token único que está vinculado a su dirección. O, en cualquier caso, una cuenta de correo electrónico a la que tengan acceso.
¿Pero es lo mismo? ¿El flujo alterado proporciona un punto de apoyo para los atacantes?