Leí hace mucho tiempo este artículo sobre cómo podría funcionar una Contraseña menos Sistema de autenticación, que me pareció una gran idea. Incluso lo construí en una pequeña aplicación pequeña y divertida para la diversión.
Para citar el artículo, así es como funciona:
Aquí es cómo funciona la autenticación sin contraseña con más detalle:
En lugar de pedirles una contraseña a los usuarios cuando intentan iniciar sesión en su aplicación o sitio web, solo pregúnteles su nombre de usuario (o correo electrónico o número de teléfono móvil).
Cree un código de autorización temporal en el servidor backend y almacénelo en su base de datos.
Envíe al usuario un correo electrónico o SMS con un enlace que contenga el código.
El usuario hace clic en el enlace que abre su aplicación o sitio web y envía el código de autorización a su servidor.
En su servidor backend, verifique que el código sea válido y cámbielo por un token de larga duración, que se almacena en su base de datos y se envía de vuelta para que se almacene también en el dispositivo cliente.
El usuario ha iniciado sesión y no tiene que repetir este proceso hasta que su token caduque o quieran autenticarse en un nuevo dispositivo.
Entonces, ¿qué piensan ustedes? ¿Es realmente una alternativa realista a la autenticación basada en contraseña?
Editar:
Como se ha indicado, el robo de su teléfono le da acceso potencial a sus correos electrónicos y SMS, lo que podría comprometer este sistema. Pero ese también sería el caso de los sistemas basados en contraseñas, donde puede hacer clic en el enlace "Contraseña olvidada" para recibir el correo electrónico para cambiar la contraseña, y también podría haber instalado Google Authenticator. Así que, en mi opinión, tener el teléfono robado es una debilidad para los sistemas AMBOS y sin contraseña
Tal vez la pregunta debería haber sido:
¿La autenticación sin contraseña agrega escenarios de riesgo que no están presentes en los sistemas de autenticación basados en contraseña?