Cambiar contraseña
POST /fapi/v1/me/password · llamado desde el host de inicio de sesión del entorno
Cambia la contraseña del usuario con sesión iniciada. Se verifica la contraseña actual; la nueva contraseña debe cumplir la política de contraseñas del entorno, la comprobación de contraseñas filtradas y la regla de historial de contraseñas. Si tiene éxito, se revocan todas las demás sesiones y tokens de actualización del usuario, esta sesión sigue iniciada y se envía una notificación de seguridad a las direcciones de correo electrónico del usuario. Requiere la cookie __Host-idp_session del usuario autenticado. Una aplicación propia en otro origen puede enviar en su lugar su token de acceso de la API frontal (Authorization: DPoP <token> con una prueba DPoP; consulte Token de acceso de la API frontal).
Solicitud
Encabezados:
| Encabezado | Obligatorio | Descripción |
|---|---|---|
Idp-Client |
sí | Identificador del SDK. |
Origin |
sí | Debe ser exactamente https://<host de inicio de sesión>. |
Cuerpo:
{"current_password": "…", "new_password": "…"}
Respuesta
204 No Content.
Errores
| Estado | Código | Cuándo |
|---|---|---|
| 401 | unauthenticated |
No hay una cookie de sesión válida. |
| 401 | step_up_required |
La sesión no se verificó en los últimos 5 minutos; vuelva a verificar con max_age=300 en el encabezado WWW-Authenticate. No se comprueba ni se cuenta nada. |
| 401 | invalid_credentials |
La contraseña actual es incorrecta. Los fallos repetidos bloquean la contraseña del mismo modo que en el inicio de sesión. |
| 403 | origin_not_allowed |
Origin falta o es incorrecto. |
| 422 | password_policy_violation |
La nueva contraseña incumple la política; errors[] enumera cada regla incumplida para /new_password (too_short, too_long, context_term, custom_term, repeated_chars, invalid_text, reused). |
| 422 | breached_password |
La nueva contraseña aparece en una filtración de datos conocida. |
| 503 | temporarily_unavailable |
El servidor está ocupado; reintente tras los segundos indicados en Retry-After. |
Ejemplo
curl -X POST https://example.keenauth.app/fapi/v1/me/password \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
-H "Origin: https://example.keenauth.app" \
-H "Content-Type: application/json" \
-d '{"current_password": "…", "new_password": "…"}' \
-b cookies.txt
Datos personales
Este endpoint contiene datos personales: credenciales. Datos personales en las API de KeenAuth describe qué se almacena, cuánto tiempo se conserva y cómo se elimina. No envíe categorías especiales de datos personales (salud, datos biométricos, religión, opiniones políticas, orientación sexual) en ningún campo.