Crear cuenta, Olvidé mi contraseña y Cambiar contraseña

Spring Security es excelente cuando el desarrollador desea proteger su aplicación web.

Sin embargo, ¿qué hay de crear la cuenta ? y “olvidó la contraseña”? la mayoría de las páginas de inicio de sesión tienen estos enlaces, así como los campos de nombre de usuario y contraseña. La página de inicio de sesión predeterminada de Spring no tiene estos enlaces … en el mejor de los casos, puede ser compatible con “recordarme” …

¿Spring admite estos flujos, de Crear cuenta, Olvidó su contraseña y Cambiar contraseña? Si la respuesta es sí, ¿puede indicarme algunos documentos?

He buscado este problema pero no he podido encontrar nada.

¡Gracias!

Tienes toda la razón. AFAIK no existe un paquete “genérico” que implemente estos flujos. He buscado mucho para este tipo de código hace un tiempo, y no encontré nada. Creo que @luizcarlosfx tiene razón, que cada aplicación tiene sus propias necesidades, por lo tanto, es difícil escribir algo genérico que se ajuste a todas las necesidades.


EDITAR: Vi comentarios como “No es tan difícil de implementar”. Cierto. Pero debes asegurarte de que cuides todos los casos. Por ejemplo, ¿qué sucede si un usuario intenta crear una cuenta que ya existe? ¿Qué sucede si un usuario intenta crear una cuenta que ya existe pero está inactiva ? ¿Qué pasa con la política de la contraseña? (demasiado largo / demasiado corto / cuántos capitales, etc.) ¿qué hay de enviar el correo electrónico con el enlace de activación al usuario? ¿Cómo creaste este enlace? ¿Cómo lo encriptas? ¿Qué pasa con el controlador que recibirá el clic en el enlace y activar la cuenta? y más y más …


Sin embargo , di un paso adelante e intenté codificar algo que responderá a la mayoría de los flujos: registro, contraseña olvidada, contraseña cambiada, etc., y algo que estará lo suficientemente asegurado para que las aplicaciones puedan usarlo sin temor a que lo haga. ser hackeado fácilmente

Implementé un proyecto JAVA para este caso de uso . Es de código abierto, basado en Spring-Security. Una versión de lanzamiento se encuentra en Maven-Central, por lo que no es necesario que la compile, ¡sino que puede buscarla como una dependencia de maven para su proyecto!

 com.ohadr authentication-flows 1.5.0-RELEASE  

Creo que responde tu pregunta …

Hay explicaciones para todo (y si falta algo, házmelo saber …)

Puede encontrar aquí un ejemplo para el código de una aplicación cliente (es decir, el uso).

Esta es la página principal del proyecto más una demostración, y otra demo está aquí (pero esta es una aplicación que después de actualizar a la versión 1.6.1 requiere iniciar sesión con un correo electrónico con el dominio “agradable” – nice.com, por lo que no puede usar realmente para demostración, use el primer ejemplo). Esta es una aplicación web cliente que utiliza auth-flows, con el README con todas las explicaciones.

¡Espero que ayude!

Creo que la aplicación es una herramienta para lo que quieres. Estas líneas son de su documentación:

AppFuse viene de la caja con características que muchas aplicaciones necesitan, que incluyen:

  • Autenticacion y autorizacion
  • Gestión de usuarios
  • Recordarme (que guarda su información de inicio de sesión para que no tenga que iniciar sesión cada vez)
  • Recordatorio de contraseña
  • Registro y registro
  • Conmutación SSL
  • Email
  • Extensión de URLs Carga de archivo
  • Backend CRUD genérico
  • Soporte completo de Eclipse, IDEA y NetBeans
  • Inicio rápido y sin implementación con Maven Jetty Plugin
  • Disponible en múltiples servidores de aplicaciones y bases de datos con Cargo y perfiles