password forgot change after spring authentication registration forgot-password change-password

forgot - spring security change password after login



Crear cuenta, contraseƱa olvidada y cambiar contraseƱa (2)

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

AppFuse sale de la caja con características que necesitan muchas aplicaciones, incluyendo:

  • 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
  • Inscripción y registro
  • Conmutación SSL
  • Email
  • URL sin extensión Carga de archivos
  • Backend genérico de CRUD
  • Soporte completo de Eclipse, IDEA y NetBeans
  • Inicio rápido y sin despliegue con Maven Jetty Plugin
  • Comprobable en múltiples aplicaciones y bases de datos con Cargo y perfiles

Spring Security es excelente cuando el desarrollador quiere asegurar su aplicación web.

Sin embargo, ¿qué pasa con la creación de 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 buen caso, puede admitir "Recuérdame" ...

¿Spring admite estos flujos, de Crear cuenta, Olvidé mi contraseña y Cambiar contraseña? Si la respuesta es afirmativa, ¿me puede indicar algunas documentaciones?

He buscado este problema pero no pude encontrar nada.

¡Gracias!


Tienes toda la razón. AFAIK no existe un paquete "genérico" que implemente estos flujos. He buscado mucho este tipo de código hace un tiempo y no he encontrado 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.

EDIT: vi comentarios como "no es tan difícil de implementar". Cierto. Pero tienes que asegurarte de cuidar 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ánto capital, etc.) ¿qué hay de enviar el correo electrónico con el enlace de activación al usuario? ¿Cómo para crear este enlace? ¿Cómo lo cifras? ¿Qué pasa con el controlador que recibirá el clic en el enlace y activará la cuenta? y mas y mas ...

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

He implementado un proyecto JAVA para este caso de uso . Es de código abierto, basado en Spring-Security. Una versión de lanzamiento está en Maven-Central, por lo que no necesita compilarla, ¡sino que puede buscarla como dependencia de maven para su proyecto!

<dependency> <groupId>com.ohadr</groupId> <artifactId>authentication-flows</artifactId> <version>1.5.0-RELEASE</version> </dependency>

Creo que responde a tu pregunta ...

Hay explicaciones para todo (y si falta algo, hágamelo saber ...)

Aquí puede encontrar 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 demostración 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 el correo electrónico con el dominio "nice" - nice.com. Por lo que realmente no se puede usar para demostración, use el primer ejemplo). Esta es una aplicación web cliente que utiliza los flujos de autenticación, con el archivo README con todas las explicaciones.

¡Espero que ayude!