He construido una herramienta orientada a la web que es principalmente para uso interno, pero algunos de nuestros clientes también la utilizarán. Al crear las partes de registro / inicio de sesión, pensé en quién lo usaría y cómo lo harían.
A menudo, habrá una cuenta que es propiedad de un cliente, y la cuenta tendrá muchos usuarios, que tendrán diferentes niveles de acceso para hacer cosas.
Cuando se necesita agregar un nuevo usuario a una cuenta existente, hay un problema. Veo una situación común en muchas otras herramientas en las que un administrador que ya está autenticado (conectado) tendrá acceso a la sección "Crear nuevo usuario" donde puede configurar un nuevo usuario, elegir una contraseña, etc. y pasar las nuevas credenciales. en el nuevo usuario. Esto abre más problemas de los que me gustaría mencionar, pero estoy seguro de que cualquiera que lea esto puede pensar en muchos.
Pensé en las siguientes alternativas
-
El administrador crea la nueva cuenta de usuario y se envía un correo electrónico al nuevo usuario, quien debe usar un enlace en el correo electrónico para establecer una contraseña antes de poder usar la cuenta. Me gusta esta idea, pero un error tipográfico en la dirección de correo electrónico podría dar acceso a otra persona, lo que no es deseable.
-
El administrador crea una clave única de tiempo limitado que puede proporcionar a un nuevo usuario. El nuevo usuario luego ingresa sus detalles en un formulario de registro junto con el OTK, que autentica a ese usuario como miembro del cliente / cuenta deseado.
La segunda opción parece mucho mejor, lo único que se transmite de manera insegura es la clave, que es de uso único y tiempo limitado, y el administrador puede redimirla si es necesario, pero no he visto este método en uso en ninguna parte y me pregunto. por qué.
¿Hay algún defecto con este método que haya pasado por alto?
¿Qué otras opciones no he pensado?