Paramètres du compte via l’Account API
Qu’est-ce que l’Account API de Logto
L’Account API de Logto est un ensemble complet d’API qui donne aux utilisateurs finaux un accès direct à l’API sans avoir besoin de passer par la Management API. Voici les points clés :
- Accès direct : L’Account API permet aux utilisateurs finaux d’accéder et de gérer directement leur propre profil de compte sans passer par la Management API.
- Gestion du profil utilisateur et des identités : Les utilisateurs peuvent gérer entièrement leur profil et leurs paramètres de sécurité, y compris la possibilité de mettre à jour les informations d’identité telles que l’e-mail, le téléphone et le mot de passe, ainsi que de gérer les connexions sociales. Le support de MFA et SSO arrive bientôt.
- Contrôle d’accès global : Les administrateurs disposent d’un contrôle global complet sur les paramètres d’accès et peuvent personnaliser chaque champ.
- Autorisation transparente : L’autorisation est plus simple que jamais ! Utilisez simplement
client.getAccessToken()pour obtenir un jeton opaque d’accès pour OP (Logto), et attachez-le à l’en-tête Authorization sous la formeBearer <access_token>.
Avec l’Account API de Logto, vous pouvez construire un système de gestion de compte personnalisé, comme une page de profil, entièrement intégré à Logto.
Voici quelques cas d’utilisation fréquents :
- Récupérer le profil utilisateur
- Mettre à jour le profil utilisateur
- Mettre à jour le mot de passe utilisateur
- Mettre à jour les identités utilisateur, y compris l’e-mail, le téléphone et les connexions sociales
- Gérer les facteurs MFA (vérifications)
Pour en savoir plus sur les API disponibles, veuillez consulter la Référence de l’Account API de Logto et la Référence de l’API de vérification de Logto.
Les fonctionnalités de visualisation de compte SSO et de suppression de compte sont actuellement disponibles via les Management APIs de Logto. Voir Paramètres du compte via la Management API pour les détails d’implémentation.
Comment activer l’Account API
Naviguez vers Console > Connexion & compte > Centre de compte.
L’Account API est désactivée par défaut, donc ses contrôles d’accès sont verrouillés. Activez Activer l’Account API pour l’allumer.
Une fois activée, configurez les permissions par champ pour les identifiants, les données de profil et l’accès aux jetons tiers. Chaque champ prend en charge Off, ReadOnly ou Edit ; la valeur par défaut est Off.
- Champs de sécurité :
- Les champs incluent : e-mail principal, téléphone principal, identités sociales, mot de passe et MFA.
- Avant que les utilisateurs finaux n’éditent ces champs, ils doivent vérifier leur identité via mot de passe, e-mail ou SMS pour obtenir un identifiant d’enregistrement de vérification valable 10 minutes. Voir Obtenir un identifiant d’enregistrement de vérification.
- Pour utiliser les passkeys WebAuthn pour MFA, ajoutez les domaines de votre application front-end à WebAuthn Related Origins afin que le centre de compte et l’expérience de connexion puissent partager les passkeys. Voir Lier une nouvelle passkey WebAuthn.
- Champs de profil :
- Les champs incluent : nom d’utilisateur, nom, avatar, profil (autres attributs standard du profil), et données personnalisées.
- Les utilisateurs finaux peuvent éditer ces champs sans vérification supplémentaire.
- Secret vault : Pour les connecteurs sociaux et d’entreprise OIDC ou OAuth, le secret vault de Logto stocke en toute sécurité les jetons d’accès et de rafraîchissement tiers après authentification. Les applications peuvent alors appeler des APIs externes, comme la synchronisation des événements Google Calendar, sans demander à nouveau la connexion à l’utilisateur. La récupération des jetons devient disponible automatiquement une fois l’Account API activée.
Comment accéder à l’Account API
Pour garantir que le jeton d’accès dispose des permissions appropriées, assurez-vous d’avoir correctement configuré les portées correspondantes dans votre configuration Logto.
Par exemple, pour l’API POST /api/my-account/primary-email, vous devez configurer la portée email ; pour l’API POST /api/my-account/primary-phone, vous devez configurer la portée phone.
import { type LogtoConfig, UserScope } from '@logto/js';
const config: LogtoConfig = {
// ...autres options
// Ajoutez les portées appropriées selon vos cas d’utilisation.
scopes: [
UserScope.Email, // Pour les APIs `{POST,DELETE} /api/my-account/primary-email`
UserScope.Phone, // Pour les APIs `{POST,DELETE} /api/my-account/primary-phone`
UserScope.CustomData, // Pour gérer les données personnalisées
UserScope.Address, // Pour gérer l’adresse
UserScope.Identities, // Pour les APIs liées à l’identité et MFA
UserScope.Profile, // Pour gérer le profil utilisateur
],
};
Récupérer un jeton d’accès
Après avoir configuré le SDK dans votre application, vous pouvez utiliser la méthode client.getAccessToken() pour récupérer un jeton d’accès. Ce jeton est un jeton opaque qui peut être utilisé pour accéder à l’Account API.
Si vous n’utilisez pas le SDK officiel, vous devez définir resource comme vide pour la requête de jeton d’accès vers /oidc/token.
Accéder à l’Account API avec le jeton d’accès
Vous devez inclure le jeton d’accès dans le champ Authorization des en-têtes HTTP au format Bearer (Bearer YOUR_TOKEN) lors de l’interaction avec l’Account API.
Voici un exemple pour obtenir les informations du compte utilisateur :
curl https://[tenant-id].logto.app/api/my-account \
-H 'authorization: Bearer <access_token>'
Gérer les informations de base du compte
Récupérer les informations du compte utilisateur
Pour obtenir les données utilisateur, vous pouvez utiliser l’endpoint GET /api/my-account.
curl https://[tenant-id].logto.app/api/my-account \
-H 'authorization: Bearer <access_token>'
Le corps de la réponse sera similaire à :
{
"id": "...",
"username": "...",
"name": "...",
"avatar": "..."
}
Les champs de la réponse peuvent varier selon les paramètres du centre de compte.
Mettre à jour les informations de base du compte
Les informations de base du compte incluent le nom d’utilisateur, le nom, l’avatar, les données personnalisées et d’autres informations de profil.
Pour mettre à jour username, name, avatar et customData, vous pouvez utiliser l’endpoint PATCH /api/my-account.
curl -X PATCH https://[tenant-id].logto.app/api/my-account \
-H 'authorization: Bearer <access_token>' \
-H 'content-type: application/json' \
--data-raw '{"username":"...","name":"...","avatar":"..."}'
Pour mettre à jour d’autres informations de profil, y compris familyName, givenName, middleName, nickname, profile (URL de la page de profil), website, gender, birthdate, zoneinfo, locale et address, vous pouvez utiliser l’endpoint PATCH /api/my-account/profile.
curl -X PATCH https://[tenant-id].logto.app/api/my-account/profile \
-H 'authorization: Bearer <access_token>' \
-H 'content-type: application/json' \
--data-raw '{"familyName":"...","givenName":"..."}'
Gérer les identifiants et autres informations sensibles
Pour des raisons de sécurité, l’Account API exige une couche supplémentaire d’autorisation pour les opérations impliquant des identifiants et autres informations sensibles.
Obtenir un identifiant d’enregistrement de vérification
Vous devez d’abord obtenir un identifiant d’enregistrement de vérification avec une expiration de 10 minutes (TTL). Cela permet de vérifier l’identité de l’utilisateur avant de mettre à jour des informations sensibles. Cela signifie qu’une fois qu’un utilisateur a vérifié son identité via mot de passe, code de vérification par e-mail ou code de vérification par SMS, il dispose de 10 minutes pour mettre à jour ses données liées à l’authentification, y compris les identifiants, les informations d’identification, le lien de compte social et MFA.
Pour obtenir un identifiant d’enregistrement de vérification, vous pouvez vérifier le mot de passe de l’utilisateur ou envoyer un code de vérification à l’e-mail ou au téléphone de l’utilisateur.
Vérifier le mot de passe de l’utilisateur
curl -X POST https://[tenant-id].logto.app/api/verifications/password \
-H 'authorization: Bearer <access_token>' \
-H 'content-type: application/json' \
--data-raw '{"password":"..."}'
Le corps de la réponse sera similaire à :
{
"verificationRecordId": "...",
"expiresAt": "..."
}
Vérifier en envoyant un code de vérification à l’e-mail ou au téléphone de l’utilisateur
Pour utiliser cette méthode, vous devez configurer le connecteur e-mail ou le connecteur SMS, et vous assurer que le template UserPermissionValidation est configuré.
Prenons l’e-mail comme exemple, demandez un nouveau code de vérification et obtenez l’identifiant d’enregistrement de vérification :
curl -X POST https://[tenant-id].logto.app/api/verifications/verification-code \
-H 'authorization: Bearer <access_token>' \
-H 'content-type: application/json' \
--data-raw '{"identifier":{"type":"email","value":"..."}}'
Le corps de la réponse sera similaire à :
{
"verificationRecordId": "...",
"expiresAt": "..."
}
Après réception du code de vérification, vous pouvez l’utiliser pour mettre à jour le statut de vérification de l’enregistrement.
curl -X POST https://[tenant-id].logto.app/api/verifications/verification-code/verify \
-H 'authorization: Bearer <access_token>' \
-H 'content-type: application/json' \
--data-raw '{"identifier":{"type":"email","value":"..."},"verificationId":"...","code":"123456"}'
Après avoir vérifié le code, vous pouvez maintenant utiliser l’identifiant d’enregistrement de vérification pour mettre à jour l’identifiant de l’utilisateur.
Pour en savoir plus sur les vérifications, veuillez consulter Vérification de sécurité via l’Account API.
Envoyer une requête avec l’identifiant d’enregistrement de vérification
Lors de l’envoi d’une requête pour mettre à jour l’identifiant de l’utilisateur, vous devez inclure l’identifiant d’enregistrement de vérification dans l’en-tête de la requête avec le champ logto-verification-id.
Mettre à jour le mot de passe de l’utilisateur
Pour mettre à jour le mot de passe de l’utilisateur, vous pouvez utiliser l’endpoint POST /api/my-account/password.
curl -X POST https://[tenant-id].logto.app/api/my-account/password \
-H 'authorization: Bearer <access_token>' \
-H 'logto-verification-id: <verification_record_id>' \
-H 'content-type: application/json' \
--data-raw '{"password":"..."}'
Mettre à jour ou lier un nouvel e-mail
Pour utiliser cette méthode, vous devez configurer le connecteur e-mail, et vous assurer que le template BindNewIdentifier est configuré.
Pour mettre à jour ou lier un nouvel e-mail, vous devez d’abord prouver la propriété de l’e-mail.
Appelez l’endpoint POST /api/verifications/verification-code pour demander un code de vérification.
curl -X POST https://[tenant-id].logto.app/api/verifications/verification-code \
-H 'authorization: Bearer <access_token>' \
-H 'content-type: application/json' \
--data-raw '{"identifier":{"type":"email","value":"..."}}'
Vous trouverez un verificationId dans la réponse, et recevrez un code de vérification par e-mail, utilisez-le pour vérifier l’e-mail.
curl -X POST https://[tenant-id].logto.app/api/verifications/verification-code/verify \
-H 'authorization: Bearer <access_token>' \
-H 'content-type: application/json' \
--data-raw '{"identifier":{"type":"email","value":"..."},"verificationId":"...","code":"..."}'
Après avoir vérifié le code, vous pouvez maintenant appeler PATCH /api/my-account/primary-email pour mettre à jour l’e-mail de l’utilisateur, en mettant le verificationId dans le corps de la requête sous newIdentifierVerificationRecordId.
curl -X POST https://[tenant-id].logto.app/api/my-account/primary-email \
-H 'authorization: Bearer <access_token>' \
-H 'logto-verification-id: <verification_record_id>' \
-H 'content-type: application/json' \
--data-raw '{"email":"...","newIdentifierVerificationRecordId":"..."}'
Supprimer l’e-mail de l’utilisateur
Pour supprimer l’e-mail de l’utilisateur, vous pouvez utiliser l’endpoint DELETE /api/my-account/primary-email.
curl -X DELETE https://[tenant-id].logto.app/api/my-account/primary-email \
-H 'authorization: Bearer <access_token>' \
-H 'logto-verification-id: <verification_record_id>'
Gérer le téléphone
Pour utiliser cette méthode, vous devez configurer le connecteur SMS, et vous assurer que le template BindNewIdentifier est configuré.
Comme pour la mise à jour de l’e-mail, vous pouvez utiliser l’endpoint PATCH /api/my-account/primary-phone pour mettre à jour ou lier un nouveau téléphone. Et utilisez l’endpoint DELETE /api/my-account/primary-phone pour supprimer le téléphone de l’utilisateur.
Lier une nouvelle connexion sociale
Pour lier une nouvelle connexion sociale, vous devez d’abord demander une URL d’autorisation avec POST /api/verifications/social.
curl -X POST https://[tenant-id].logto.app/api/verifications/social \
-H 'authorization: Bearer <access_token>' \
-H 'content-type: application/json' \
--data-raw '{"connectorId":"...","redirectUri":"...","state":"..."}'
connectorId: L’ID du connecteur social.redirectUri: L’URI de redirection après que l’utilisateur a autorisé l’application, vous devez héberger une page web à cette URL et capturer le callback.state: L’état à retourner après que l’utilisateur a autorisé l’application, c’est une chaîne aléatoire utilisée pour prévenir les attaques CSRF.
Dans la réponse, vous trouverez un verificationRecordId, conservez-le pour une utilisation ultérieure.
Après que l’utilisateur a autorisé l’application, vous recevrez un callback sur le redirectUri avec le paramètre state. Vous pouvez alors utiliser l’endpoint POST /api/verifications/social/verify pour vérifier la connexion sociale.
curl -X POST https://[tenant-id].logto.app/api/verifications/social/verify \
-H 'authorization: Bearer <access_token>' \
-H 'content-type: application/json' \
--data-raw '{"connectorData":"...","verificationRecordId":"..."}'
Le connectorData est la donnée retournée par le connecteur social après que l’utilisateur a autorisé l’application, vous devez analyser et récupérer les paramètres de requête du redirectUri dans votre page de callback, et les encapsuler en JSON comme valeur du champ connectorData.
Enfin, vous pouvez utiliser l’endpoint POST /api/my-account/identities pour lier la connexion sociale.
curl -X POST https://[tenant-id].logto.app/api/my-account/identities \
-H 'authorization: Bearer <access_token>' \
-H 'logto-verification-id: <verification_record_id>' \
-H 'content-type: application/json' \
--data-raw '{"newIdentifierVerificationRecordId":"..."}'
Supprimer une connexion sociale
Pour supprimer une connexion sociale, vous pouvez utiliser l’endpoint DELETE /api/my-account/identities.
curl -X DELETE https://[tenant-id].logto.app/api/my-account/identities/[connector_target_id] \
-H 'authorization: Bearer <access_token>' \
-H 'logto-verification-id: <verification_record_id>'
Lier une nouvelle passkey WebAuthn
N’oubliez pas d’activer MFA et WebAuthn au préalable.
Pour utiliser cette méthode, vous devez activer le champ mfa dans les paramètres du centre de compte.
Étape 1 : Ajoutez l’origine de votre application front-end aux origines associées
Les passkeys WebAuthn sont liées à un nom d’hôte spécifique appelé Relying Party ID (RP ID). Seules les applications hébergées sur l’origine du RP ID peuvent enregistrer ou s’authentifier avec ces passkeys.
Puisque votre application front-end appelle l’Account API depuis un domaine différent de celui des pages d’authentification de Logto, vous devez configurer les origines associées pour permettre les opérations de passkey cross-origin.
Comment Logto détermine le RP ID :
- Configuration par défaut : Si vous utilisez uniquement le domaine par défaut de Logto
https://[tenant-id].logto.app, le RP ID est[tenant-id].logto.app - Domaine personnalisé : Si vous avez configuré un domaine personnalisé comme
https://auth.example.com, le RP ID devientauth.example.com
Configurer les origines associées :
Utilisez l’endpoint PATCH /api/account-center pour ajouter l’origine de votre application front-end. Par exemple, si le centre de compte de votre application fonctionne sur https://account.example.com :
curl -X PATCH https://[tenant-id].logto.app/api/account-center \
-H 'authorization: Bearer <access_token>' \
-H 'content-type: application/json' \
--data-raw '{"webauthnRelatedOrigins":["https://account.example.com"]}'
Pour en savoir plus sur les origines associées, veuillez consulter la documentation Related Origin Requests.
Étape 2 : Demander de nouvelles options d’enregistrement
Utilisez l’endpoint POST /api/verifications/web-authn/registration pour demander l’enregistrement d’une nouvelle passkey. Logto permet à chaque compte utilisateur d’enregistrer plusieurs passkeys.
curl -X POST https://[tenant-id].logto.app/api/verifications/web-authn/registration \
-H 'authorization: Bearer <access_token>' \
-H 'content-type: application/json'
Vous obtiendrez une réponse comme :
{
"registrationOptions": "...",
"verificationRecordId": "...",
"expiresAt": "..."
}
Étape 3 : Enregistrer la passkey dans le navigateur local
Prenons @simplewebauthn/browser comme exemple, vous pouvez utiliser la fonction startRegistration pour enregistrer la passkey dans le navigateur local.
import { startRegistration } from '@simplewebauthn/browser';
// ...
const response = await startRegistration({
optionsJSON: registrationOptions, // Les données retournées par le serveur à l’étape 1
});
// Sauvegardez la réponse pour une utilisation ultérieure
Étape 4 : Vérifier l’enregistrement de la passkey
Utilisez l’endpoint POST /api/verifications/web-authn/registration/verify pour vérifier l’enregistrement de la passkey.
Cette étape vérifie la signature cryptographique générée par l’authentificateur pour s’assurer que la passkey a été créée légitimement et n’a pas été altérée pendant la transmission.
curl -X POST https://[tenant-id].logto.app/api/verifications/web-authn/registration/verify \
-H 'authorization: Bearer <access_token>' \
-H 'content-type: application/json' \
--data-raw '{"payload":"...","verificationRecordId":"..."}'
payload: La réponse du navigateur local à l’étape 2.verificationRecordId: L’identifiant d’enregistrement de vérification retourné par le serveur à l’étape 1.
Étape 5 : Lier la passkey
Enfin, vous pouvez lier la passkey au compte utilisateur en utilisant l’endpoint POST /api/my-account/mfa-verifications.
curl -X POST https://[tenant-id].logto.app/api/my-account/mfa-verifications \
-H 'authorization: Bearer <access_token>' \
-H 'logto-verification-id: <verification_record_id>' \
-H 'content-type: application/json' \
--data-raw '{"type":"WebAuthn","newIdentifierVerificationRecordId":"..."}'
verification_record_id: un identifiant d’enregistrement de vérification valide, obtenu en vérifiant le facteur existant de l’utilisateur, voir la section Obtenir un identifiant d’enregistrement de vérification pour plus de détails.type: le type du facteur MFA, actuellement seulWebAuthnest supporté.newIdentifierVerificationRecordId: l’identifiant d’enregistrement de vérification retourné par le serveur à l’étape 1.
Gérer les passkeys WebAuthn existantes
Pour gérer les passkeys WebAuthn existantes, vous pouvez utiliser l’endpoint GET /api/my-account/mfa-verifications pour obtenir les passkeys actuelles et autres facteurs de vérification MFA.
curl https://[tenant-id].logto.app/api/my-account/mfa-verifications \
-H 'authorization: Bearer <access_token>'
Le corps de la réponse sera similaire à :
[
{
"id": "...",
"type": "WebAuthn",
"name": "...",
"agent": "...",
"createdAt": "...",
"updatedAt": "..."
}
]
id: l’ID de la vérification.type: le type de la vérification,WebAuthnpour une passkey WebAuthn.name: le nom de la passkey, champ optionnel.agent: l’agent utilisateur de la passkey.
Mettez à jour le nom de la passkey en utilisant l’endpoint PATCH /api/my-account/mfa-verifications/{verificationId}/name :
curl -X PATCH https://[tenant-id].logto.app/api/my-account/mfa-verifications/{verificationId}/name \
-H 'authorization: Bearer <access_token>' \
-H 'logto-verification-id: <verification_record_id>' \
-H 'content-type: application/json' \
--data-raw '{"name":"..."}'
Supprimez la passkey en utilisant l’endpoint DELETE /api/my-account/mfa-verifications/{verificationId} :
curl -X DELETE https://[tenant-id].logto.app/api/my-account/mfa-verifications/{verificationId} \
-H 'authorization: Bearer <access_token>' \
-H 'logto-verification-id: <verification_record_id>'
Lier un nouveau TOTP
N’oubliez pas d’activer MFA et TOTP au préalable.
Pour utiliser cette méthode, vous devez activer le champ mfa dans les paramètres du centre de compte.
Étape 1 : Générer un secret TOTP
Utilisez l’endpoint POST /api/my-account/mfa-verifications/totp-secret/generate pour générer un secret TOTP.
curl -X POST https://[tenant-id].logto.app/api/my-account/mfa-verifications/totp-secret/generate \
-H 'authorization: Bearer <access_token>' \
-H 'content-type: application/json'
Le corps de la réponse sera similaire à :
{
"secret": "..."
}
Étape 2 : Afficher le secret TOTP à l’utilisateur
Utilisez le secret pour générer un QR code ou l’afficher directement à l’utilisateur. L’utilisateur doit l’ajouter à son application d’authentification (comme Google Authenticator, Microsoft Authenticator ou Authy).
Le format URI pour le QR code doit être :
otpauth://totp/[Issuer]:[Account]?secret=[Secret]&issuer=[Issuer]
Exemple :
otpauth://totp/YourApp:[email protected]?secret=JBSWY3DPEHPK3PXP&issuer=YourApp
Étape 3 : Lier le facteur TOTP
Après que l’utilisateur a ajouté le secret à son application d’authentification, il doit le vérifier et le lier à son compte. Utilisez l’endpoint POST /api/my-account/mfa-verifications pour lier le facteur TOTP.
curl -X POST https://[tenant-id].logto.app/api/my-account/mfa-verifications \
-H 'authorization: Bearer <access_token>' \
-H 'logto-verification-id: <verification_record_id>' \
-H 'content-type: application/json' \
--data-raw '{"type":"Totp","secret":"..."}'
verification_record_id: un identifiant d’enregistrement de vérification valide, obtenu en vérifiant le facteur existant de l’utilisateur. Voir la section Obtenir un identifiant d’enregistrement de vérification pour plus de détails.type: doit êtreTotp.secret: le secret TOTP généré à l’étape 1.
Un utilisateur ne peut avoir qu’un seul facteur TOTP à la fois. Si l’utilisateur a déjà un facteur TOTP, toute tentative d’en ajouter un autre entraînera une erreur 422.
Gérer les codes de secours
N’oubliez pas d’activer MFA et les codes de secours au préalable.
Pour utiliser cette méthode, vous devez activer le champ mfa dans les paramètres du centre de compte.
Étape 1 : Générer de nouveaux codes de secours
Utilisez l’endpoint POST /api/my-account/mfa-verifications/backup-codes/generate pour générer un nouvel ensemble de 10 codes de secours.
curl -X POST https://[tenant-id].logto.app/api/my-account/mfa-verifications/backup-codes/generate \
-H 'authorization: Bearer <access_token>' \
-H 'content-type: application/json'
Le corps de la réponse sera similaire à :
{
"codes": ["...", "...", "..."]
}
Étape 2 : Afficher les codes de secours à l’utilisateur
Avant de lier les codes de secours au compte de l’utilisateur, vous devez les afficher à l’utilisateur et lui demander de :
- Télécharger ou noter ces codes immédiatement
- Les stocker dans un endroit sécurisé
- Comprendre que chaque code ne peut être utilisé qu’une seule fois
- Savoir que ces codes sont leur dernier recours s’ils perdent l’accès à leurs méthodes MFA principales
Vous devez afficher les codes dans un format clair et facile à copier et envisager de proposer une option de téléchargement (par exemple, sous forme de fichier texte ou PDF).
Étape 3 : Lier les codes de secours au compte utilisateur
Utilisez l’endpoint POST /api/my-account/mfa-verifications pour lier les codes de secours au compte utilisateur.
curl -X POST https://[tenant-id].logto.app/api/my-account/mfa-verifications \
-H 'authorization: Bearer <access_token>' \
-H 'logto-verification-id: <verification_record_id>' \
-H 'content-type: application/json' \
--data-raw '{"type":"BackupCode","codes":["...","...","..."]}'
verification_record_id: un identifiant d’enregistrement de vérification valide, obtenu en vérifiant le facteur existant de l’utilisateur. Voir la section Obtenir un identifiant d’enregistrement de vérification pour plus de détails.type: doit êtreBackupCode.codes: le tableau des codes de secours générés à l’étape précédente.
- Un utilisateur ne peut avoir qu’un seul ensemble de codes de secours à la fois. Si tous les codes ont été utilisés, l’utilisateur doit générer et lier de nouveaux codes.
- Les codes de secours ne peuvent pas être le seul facteur MFA. L’utilisateur doit avoir au moins un autre facteur MFA (comme WebAuthn ou TOTP) activé.
- Chaque code de secours ne peut être utilisé qu’une seule fois.
Voir les codes de secours existants
Pour voir les codes de secours existants et leur statut d’utilisation, utilisez l’endpoint GET /api/my-account/mfa-verifications/backup-codes :
curl https://[tenant-id].logto.app/api/my-account/mfa-verifications/backup-codes \
-H 'authorization: Bearer <access_token>'
Le corps de la réponse sera similaire à :
{
"codes": [
{
"code": "...",
"usedAt": null
},
{
"code": "...",
"usedAt": "2024-01-15T10:30:00.000Z"
}
]
}
code: le code de secours.usedAt: l’horodatage d’utilisation du code,nulls’il n’a pas encore été utilisé.