Sistema de login con contraseñas de uso temporal

¿Cómo funciona?

Esto no es una APP, es el código fuente para realizar un sistema de login, sin necesidad que el usuario recuerde la contraseña, ni tenga que introducirla.

Lo que se pretende con este sistema es evitar que recaiga en el usuario la protección de su cuenta. Que tenga que recordar una contraseña diferente para cada plataforma y que, con una brecha de seguridad en la plataforma, el usuario pueda ver afectados otros servicios en los que utilice las mismas credenciales (pese a que no es recomendable, todavía se sigue haciendo).

Este sistema utiliza un bot de Telegram, que crea contraseñas temporales, y se borran tras iniciar sesión. El nombre de usuario está hasheado para que no se pueda identificar, con lo que el único dato del usuario sería su ID del bot de Telegram. La idea es utilizar el segundo factor de autenticación como primero, con lo que no hay ningún dato que pueda identificar al usuario, en caso de intrusión en los servidores donde esté alojada la plataforma.

Funcionamiento

En primer lugar, el usuario se registra mediante un bot de Telegram. Dicho usuario, tan solo tiene que introducir el nombre de usuario que quiere utilizar y el ID del chat de Telegram que le proporcionará el bot. Una vez introduce sus datos, irán a una base de datos y el usuario irá hasheado.

Registrado el usuario, tendrá que introducir el comando "NUEVO" en el bot, para que le mande un código para iniciar sesión. En el momento que el usuario inicia sesión, el campo de la contraseña quedará vacío, con lo que ya nadie más podrá acceder a su cuenta, ni con ese código ni, por supuesto, con el campo de la contraseña vacío. Si el usuario cierra sesión y quiere volver a entrar, tendrá que volver a pedir un nuevo código.

Vídeo demo