fix(auth): flujo de recuperación de contraseña usa email en vez de usuario
- login.html: corregir link roto /password/reset → /request-password-reset
- request-password-reset.html: reescribir — pide email, AJAX, diseño de la app
- RequestPasswordResetPost: buscar por email (GetUserByEmail), no revela si
el correo existe o no (misma respuesta siempre — seguridad)
- password-reset.html: reescribir — eliminar campo nombre_usuario redundante,
validación de contraseñas en cliente, diseño consistente con el resto del app
- PasswordResetPost: usar c.Locals("email") del token (ya validado por
middleware) en vez de nombre_usuario del form
- password_reset.go middleware: ampliar expiración de token de 5 min a 1 hora
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
37648724f8
commit
e937676160
@@ -47,7 +47,7 @@ func _validatePasswordReset(c *fiber.Ctx, t string) error {
|
||||
}
|
||||
now := time.Now().Unix()
|
||||
diff := now - tokenTS
|
||||
if diff > (5 * 60) {
|
||||
if diff > (60 * 60) {
|
||||
return errors.New("Password Reset Token has expired!")
|
||||
} else if diff < 0 {
|
||||
return errors.New("Invalid Password Reset Token")
|
||||
|
||||
Reference in New Issue
Block a user