Skip to main content

Cambiar contraseña con token de recuperación

POST 

/auth/recovery_password

Propósito

Cambia la contraseña del usuario utilizando el token de recuperación previamente generado por POST /auth/recovery.

Objetivo

Completar el flujo de recuperación de contraseña, permitiendo al usuario establecer una nueva contraseña de forma segura.

Casos de uso

  • El usuario envía el formulario de cambio de contraseña desde la página renderizada por GET /auth/recovery/{token}.

Flujo de cambio de contraseña

flowchart TD
A[Recibir POST /auth/recovery_password] --> B{¿Token y password presentes?}
B -->|No| C[Renderizar página de error]
B -->|Sí| D{¿Existe usuario con ese recovery_token?}
D -->|No| E[Renderizar página de error]
D -->|Sí| F[Hashear nueva contraseña]
F --> G[Limpiar recovery_token]
G --> H[Guardar usuario]
H --> I[Renderizar página de éxito]

Detalles técnicos

  • El token se puede enviar por body.token, params.token o query.token.
  • Valida que la contraseña no esté vacía ni solo contenga espacios.
  • La nueva contraseña se hashea con User.getPassword().
  • Tras el cambio, el recovery_token se limpia (se establece a "").
  • Devuelve HTML (no JSON): renderiza email_password_ok en éxito o email_password_ko en error.

Autenticación

No requiere autenticación (el token de recuperación actúa como credencial).

Request

Responses

Página HTML de resultado: muestra éxito si la contraseña se cambió correctamente, o error si el token es inválido o la contraseña está vacía.

Response Headers