Queremos configurar un flujo como este:
- Creamos una cuenta para un usuario de alto valor desde nuestra sección de administración
- Reciben un correo electrónico automatizado que contiene los datos de inicio de sesión de nuestro sitio de alguna forma
- Siguen el enlace, confirman su cuenta y ven un formulario que les pide de manera prominente que restablezcan su contraseña
- Esto parece ser un poco complicado: si se alejan antes de configurar su contraseña y vuelven más tarde (habiendo salido potencialmente de otra máquina, etc.) queremos que aún puedan acceder a su cuenta sin tener que solicitar un restablecimiento de contraseña
Por lo que puedo ver, no hay una forma segura de hacerlo, ya que requeriría al menos un token de inicio de sesión de uso repetido para enviarlos por correo electrónico.
Así que mis preguntas son:
1) ¿He perdido alguna forma de hacer esto de forma segura? (con disculpas a theI3I, quien respondió una pregunta similar que publiqué sin el cuarto requisito aquí )
2) Un enfoque que hemos discutido es enviarles un token de inicio de sesión reutilizable con fecha de caducidad, para que a) al menos no se rompa por un ataque de arco iris, yb) minimizamos la ventana de vulnerabilidad. Sé que esto no es lo ideal, pero (si hay una manera significativa de responder a esta pregunta) ¿qué tan grande es el riesgo? ¿Importa mucho cuánto tiempo es el período de uso? ¿Y hay alguna forma de minimizar el riesgo que no sea simplemente reducir el período de uso (o también una forma imperfecta pero mejor de lograr el mismo efecto deseado)?
Si es relevante, estamos usando un backend Rails / Devise.
Gracias de antemano.