Régénérer les codes de récupération

POST /fapi/v1/me/recovery-codes:regenerate · appelé depuis l'hôte de connexion de l'environnement

Remplace les codes de récupération de l'utilisateur par de nouveaux codes ; tous les anciens codes deviennent invalides. Les nouveaux codes ne sont affichés qu'une seule fois dans cette réponse, et une notification de sécurité est envoyée aux adresses e-mail de l'utilisateur. Nécessite le cookie __Host-idp_session de l'utilisateur authentifié ; si le cookie est absent, expiré ou révoqué, renvoie 401 unauthenticated. Une application de première partie sur une autre origine peut à la place envoyer son jeton d'accès à l'API front (Authorization: DPoP <token> avec une preuve DPoP ; voir Jeton d'accès à l'API front).

Requête

En-têtes :

En-tête Obligatoire Description
Idp-Client oui Identifiant du SDK.
Origin oui Doit être exactement https://<sign-in host>.

Corps :

{}

Réponse

200 OK :

{"recovery_codes": ["…", "…"]}

Erreurs

Statut Code Quand
401 unauthenticated Aucun cookie de session valide.
401 step_up_required La session n'a pas été vérifiée au cours des 5 dernières minutes ; vérifiez à nouveau avec max_age=300 dans l'en-tête WWW-Authenticate.
403 origin_not_allowed Origin est absent ou incorrect.
404 not_found Les codes de récupération sont désactivés dans l'environnement.
409 conflict L'utilisateur n'a pas de second facteur ; codes de récupération non générés.

Exemple

curl -X POST https://example.keenauth.app/fapi/v1/me/recovery-codes:regenerate \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H "Content-Type: application/json" \
  -d '{}' \
  -b cookies.txt

Données personnelles

Ce point de terminaison traite des données personnelles : identifiants. Données personnelles dans les API KeenAuth décrit ce qui est stocké, combien de temps il est conservé et comment il est supprimé. N'envoyez pas de catégories particulières de données personnelles (santé, données biométriques, religion, opinions politiques, orientation sexuelle) dans aucun champ.