Aller au contenu principal

Paramètres de compte via Management API

Intégrations

Logto fournit diverses Management API pour gérer les comptes utilisateurs. Vous pouvez utiliser ces API pour créer une page de paramètres de compte en libre-service pour les utilisateurs finaux.

Architecture

  1. Utilisateur : Utilisateur final authentifié qui doit accéder et gérer ses paramètres de compte.
  2. Application cliente : Votre application cliente qui sert la page de paramètres de compte à l'utilisateur.
  3. Application côté serveur : Application côté serveur qui fournit l'API de paramètres de compte au client. Interagit avec la Management API de Logto.
  4. Logto : Logto en tant que service d'authentification et d'autorisation. Fournit la Management API pour gérer les comptes utilisateurs.

Diagramme de séquence

  1. L'utilisateur accède à l'application cliente.
  2. L'application cliente envoie la requête d'authentification à Logto et redirige l'utilisateur vers la page de connexion de Logto.
  3. L'utilisateur se connecte à Logto.
  4. L'utilisateur authentifié est redirigé vers l'application cliente avec le code d'autorisation.
  5. L'application cliente demande le jeton d’accès à Logto pour l'accès à l'API de paramètres de compte auto-hébergée.
  6. Logto accorde le jeton d’accès à l'application cliente.
  7. L'application cliente envoie la requête de paramètres de compte à l'application côté serveur avec le jeton d’accès utilisateur.
  8. L'application côté serveur vérifie l'identité et la permission du demandeur à partir du jeton d’accès utilisateur. Puis demande un jeton d’accès Management API à Logto.
  9. Logto accorde le jeton d’accès Management API à l'application côté serveur.
  10. L'application côté serveur demande les données utilisateur à Logto en utilisant le jeton d’accès Management API.
  11. Logto vérifie l'identité du serveur et la permission Management API et renvoie les données utilisateur.
  12. L'application côté serveur traite les données utilisateur en fonction de la permission du demandeur et renvoie les détails du compte utilisateur à l'application cliente.

Intégrer Management API à l'application côté serveur

Consultez la section Management API pour apprendre comment intégrer les Management APIs avec les applications côté serveur.

User Management APIs

Schéma des données utilisateur

Consultez la section données utilisateur et données personnalisées pour en savoir plus sur le schéma utilisateur dans Logto.

User profile and identifiers Management APIs

Le profil et les identifiants d'un utilisateur sont essentiels pour la gestion des utilisateurs. Vous pouvez utiliser les API suivantes pour gérer les profils et les identifiants des utilisateurs.

méthodechemindescription
GET/api/users/{userId}Obtenir les détails de l'utilisateur par ID.
PATCH/api/users/{userId}Mettre à jour les détails de l'utilisateur.
PATCH/api/users/{userId}/profileMettre à jour les champs du profil utilisateur par ID.
GET/api/users/{userId}/custom-dataObtenir les données personnalisées de l'utilisateur par ID.
PATCH/api/users/{userId}/custom-dataMettre à jour les données personnalisées de l'utilisateur par ID.
PATCH/api/users/{userId}/is-suspendedMettre à jour le statut de suspension de l'utilisateur par ID.

Vérification de l'email et du numéro de téléphone

Dans le système Logto, les adresses e-mail et les numéros de téléphone peuvent servir d'identifiants utilisateur, rendant leur vérification essentielle. Pour cela, nous fournissons un ensemble d'APIs de code de vérification pour aider à vérifier l'e-mail ou le numéro de téléphone fourni.

remarque:

Assurez-vous de vérifier l'e-mail ou le numéro de téléphone avant de mettre à jour le profil de l'utilisateur avec un nouvel e-mail ou numéro de téléphone.

méthodechemindescription
POST/api/verifications/verification-codeEnvoyer un code de vérification par e-mail ou numéro de téléphone.
POST/api/verifications/verification-code/verifyVérifier l'e-mail ou le numéro de téléphone par code de vérification.

Gestion des mots de passe utilisateur

méthodechemindescription
POST/api/users/{userId}/password/verifyVérifier le mot de passe actuel de l'utilisateur par ID.
PATCH/api/users/{userId}/passwordMettre à jour le mot de passe de l'utilisateur par ID.
GET/api/users/{userId}/has-passwordVérifier si l'utilisateur a un mot de passe par ID.
remarque:

Assurez-vous de vérifier le mot de passe actuel de l'utilisateur avant de mettre à jour le mot de passe de l'utilisateur.

Gestion des identités sociales utilisateur

méthodechemindescription
GET/api/users/{userId}Obtenir les détails de l'utilisateur par ID. Les identités sociales peuvent être trouvées dans le champ identities.
POST/api/users/{userId}/identitiesLier une identité sociale authentifiée à l'utilisateur par ID.
DELETE/api/users/{userId}/identitiesDissocier une identité sociale de l'utilisateur par ID.
PUT/api/users/{userId}/identitiesMettre à jour directement une identité sociale liée à l'utilisateur par ID.
POST/api/connectors/{connectorId}/authorization-uriObtenir l'URI d'autorisation pour un fournisseur d'identité sociale. Utilisez cet URI pour initier une nouvelle connexion d'identité sociale.
  1. L'utilisateur accède à l'application cliente et demande à lier une identité sociale.
  2. L'application cliente envoie une requête au serveur pour lier une identité sociale.
  3. Le serveur envoie une requête à Logto pour obtenir l'URI d'autorisation pour le fournisseur d'identité sociale. Vous devez fournir votre propre paramètre state et redirect_uri dans la requête. Assurez-vous d'enregistrer le redirect_uri dans le fournisseur d'identité sociale.
  4. Logto retourne l'URI d'autorisation au serveur.
  5. Le serveur retourne l'URI d'autorisation à l'application cliente.
  6. L'application cliente redirige l'utilisateur vers l'URI d'autorisation IdP.
  7. L'utilisateur se connecte à l'IdP.
  8. L'IdP redirige l'utilisateur vers l'application cliente en utilisant le redirect_uri avec le code d'autorisation.
  9. L'application cliente valide le state et transfère la réponse d'autorisation IdP au serveur.
  10. Le serveur envoie une requête à Logto pour lier l'identité sociale à l'utilisateur.
  11. Logto obtient les informations utilisateur de l'IdP en utilisant le code d'autorisation.
  12. L'IdP retourne les informations utilisateur à Logto et Logto lie l'identité sociale à l'utilisateur.
remarque:

Il y a quelques limitations à prendre en compte lors de la liaison de nouvelles identités sociales à un utilisateur :

  • Management API n'a pas de contexte de session, tout connecteur social nécessitant une session active pour maintenir en toute sécurité l'état d'authentification sociale ne peut pas être lié via Management API. Les connecteurs non pris en charge incluent apple, OIDC standard et connecteur OAuth 2.0 standard.
  • Pour la même raison, Logto ne peut pas vérifier le paramètre state dans la réponse d'autorisation. Assurez-vous de stocker le paramètre state dans votre application cliente et de le valider lorsque la réponse d'autorisation est reçue.
  • Vous devez enregistrer le redirect_uri auprès du fournisseur d'identité sociale à l'avance. Sinon, l'IdP social ne redirigera pas l'utilisateur vers votre application cliente. Votre IdP social doit accepter plus d'un redirect_uri de rappel, un pour la connexion utilisateur, un pour votre propre page de liaison de profil.

Gestion des identités d'entreprise utilisateur

méthodechemindescription
GET/api/users/{userId}?includeSsoIdentities=trueObtenir les détails de l'utilisateur par ID. Les identités d'entreprise peuvent être trouvées dans le champ ssoIdentities. Ajoutez le paramètre de requête includeSsoIdentities=true à l'API de détails utilisateur pour les inclure.

Actuellement, Management API ne prend pas en charge la liaison ou la dissociation des identités d'entreprise à un utilisateur. Vous pouvez uniquement afficher les identités d'entreprise liées à un utilisateur.

Jeton d'accès personnel

méthodechemindescription
GET/api/users/{userId}/personal-access-tokensObtenir tous les jetons d'accès personnels pour l'utilisateur.
POST/api/users/{userId}/personal-access-tokensAjouter un nouveau jeton d'accès personnel pour l'utilisateur.
DELETE/api/users/{userId}/personal-access-tokens/{name}Supprimer un jeton pour l'utilisateur par nom.
PATCH/api/users/{userId\s}/personal-access-tokens/{name}Mettre à jour un jeton pour l'utilisateur par nom.

Les jetons d'accès personnels fournissent un moyen sécurisé pour les utilisateurs d'accorder un jeton d’accès (Access token) sans utiliser leurs identifiants et connexion interactive. En savoir plus sur l'utilisation des jetons d'accès personnels.

Gestion des paramètres MFA utilisateur

méthodechemindescription
GET/api/users/{userId}/mfa-verificationsObtenir les paramètres MFA utilisateur par ID.
POST/api/users/{userId}/mfa-verificationsConfigurer une vérification MFA utilisateur par ID.
DELETE/api/users/{userId}/mfa-verifications/{verificationId}Supprimer une vérification MFA utilisateur par ID.

Suppression de compte utilisateur

méthodechemindescription
DELETE/api/users/{userId}Supprimer un utilisateur par ID.

Gestion des sessions utilisateur

méthodechemindescription
GET/api/users/{userId}/sessionsObtenir les sessions utilisateur par ID.
GET/api/users/{userId}/sessions/{sessionId}Obtenir une session utilisateur par ID de session.
DELETE/api/users/{userId}/sessions/{sessionId}Supprimer une session utilisateur par ID de session.

Gérer les applications autorisées par l'utilisateur (grants)

méthodechemindescription
GET/api/users/{userId}/grantsLister les autorisations d'application actives pour l'utilisateur.
DELETE/api/users/{userId}/grants/{grantId}Révoquer une autorisation d'application spécifique par ID.

Paramètre de requête optionnel pour la liste des autorisations :

  • appType=firstParty : Retourner uniquement les autorisations d'application de première partie.
  • appType=thirdParty : Retourner uniquement les autorisations d'application de tierce partie.
  • Omettre appType : Retourner toutes les autorisations actives.

Lorsqu'une autorisation est révoquée, les jetons d’accès opaques et les jetons de rafraîchissement précédemment émis pour cette autorisation sont invalidés.