El enlace de restablecer deja de servir una vez usado
La página pintaba el formulario sin mirar el token: rellenabas la contraseña nueva y solo al enviarla te enterabas de que el enlace ya no valía. El API sí marcaba `used = 1` y rechazaba el reintento, pero la pantalla no lo reflejaba. Ahora la página comprueba el token al abrirse con `isResetTokenValid()` (mismas condiciones que `resetPassword` —existe, sin usar, dentro de la hora— pero SIN consumirlo) y, si no vale, muestra el aviso del tema en vez del formulario. Textos: `invalidLink` pasa a «El enlace de restablecer la contraseña es inválido» y se añade `needHelp`, como en la página de activación. Verificado en producción con enlaces reales: válido -> formulario; usado, caducado, inexistente y sin token -> aviso, sin formulario. Y el ciclo entero: restablecer con un enlace válido lo marca usado y al reabrirlo ya sale el aviso. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -276,8 +276,9 @@
|
||||
"saving": "Guardando…",
|
||||
"success": "Contraseña restablecida. Ya puedes iniciar sesión.",
|
||||
"goLogin": "Ir a iniciar sesión",
|
||||
"invalidLink": "El enlace no es válido o ya se ha usado.",
|
||||
"expiredLink": "El enlace ha caducado. Solicita uno nuevo.",
|
||||
"invalidLink": "El enlace de restablecer la contraseña es inválido",
|
||||
"expiredLink": "El enlace de restablecer la contraseña ha caducado",
|
||||
"needHelp": "Si necesitas ayuda para crear una cuenta, puedes contactar con el equipo de {realm}.",
|
||||
"passwordMismatch": "Las contraseñas no coinciden.",
|
||||
"passwordTooLong": "La contraseña no debe exceder los 16 caracteres.",
|
||||
"accountNotFound": "No se ha encontrado la cuenta.",
|
||||
|
||||
Reference in New Issue
Block a user