Utiliser l'API de Gestion Logto : Un guide étape par étape
Apprenez à utiliser l'API de Gestion Logto pour votre application dans différents scénarios.
Bien que Logto fournisse une Console web pour gérer les identités, utiliser l'API de Gestion est une alternative puissante lorsque vous souhaitez automatiser votre flux de travail ou accéder à Logto de manière programmatique. Ce guide vous expliquera les étapes pour utiliser l'API de Gestion Logto dans différents scénarios.
Aperçu
Vous remarquerez qu'il y a une ressource API intégrée "API de Gestion Logto" dans la Console de Logto. Elle jouera un rôle clé dans ce guide.
Comparée à d'autres ressources API, actuellement, l'API de Gestion Logto n'autorise pas l'accès direct par les utilisateurs finaux car elle est conçue pour la communication de machine à machine, et elle est si puissante qu'elle peut être utilisée pour gérer votre compte et vos ressources Logto.
Voici quelques scénarios typiques dans lesquels vous pourriez vouloir utiliser l'API de Gestion Logto :
CI/CD
Communication de service
Application monopage
Serveur web qui rend HTML
Architecture
Indépendamment des scénarios, il y a deux modèles que vous pouvez utiliser pour accéder à l'API de Gestion Logto.
Modèle 1 : Accès direct
Dans ce modèle, votre client ou service accédera directement à l'API de Gestion Logto. Dans Logto, le client ou service est appelé une application "machine à machine".
Un exemple d'utilisation du service backend :
Modèle 2 : Accès indirect
Dans ce modèle, votre client ou service accèdera à l'API de Gestion Logto via un service backend. Le modèle 2 est construit sur le modèle 1, qui implique une autre application. Cette nouvelle application peut être une application web traditionnelle, native, ou monopage qui accédera au service backend.
Un exemple d'utilisation de l'application monopage :
Ce modèle est utile lorsque vous souhaitez avoir une logique personnalisée pour contrôler l'accès à l'API de Gestion Logto. Par exemple, vous pourriez vouloir retourner toutes les commandes pour un consommateur, et attacher les informations du vendeur à chaque commande. Dans ce cas, vous pouvez utiliser l'application monopage pour demander au service backend d'obtenir les commandes, et dans le service backend, vous pouvez utiliser l'API de Gestion Logto pour obtenir les informations du vendeur.
Accéder à l'API de Gestion Logto
Créer une application machine à machine
Tout d'abord, vous devez créer une application machine à machine dans la Console Logto. Allez à l'onglet "Applications" et cliquez sur le bouton "Créer une application". Puis cliquez sur "Commencer la construction" dans la carte "Machine à machine".
Configurer un rôle machine à machine
Pour accéder à l'API de Gestion Logto, vous devez créer un rôle machine à machine avec les autorisations appropriées. Dans la Console Logto, allez à l'onglet "Rôles" et cliquez sur le bouton "Créer un rôle". Cliquez sur "Afficher plus d'options" et sélectionnez "Rôle d'application machine à machine" dans la section "Type de rôle".
Maintenant, vous pouvez voir que "API de Gestion Logto" apparaît dans la section "Attribuer des autorisations". Cochez la ressource API pour toutes les autorisations, et cliquez sur le bouton "Créer un rôle".
Une fois le rôle créé, vous pouvez l'attribuer à l'application machine à machine que vous avez créée à l'étape précédente.
Obtenir un jeton d'accès
Vous pouvez suivre les étapes de cet article pour obtenir un jeton d'accès via la subvention des identifiants client pour votre application machine à machine. Testez le jeton d'accès en envoyant une demande à un point d'extrémité de l'API de Gestion Logto.
Vous êtes maintenant prêt pour le modèle 1. Notez que le jeton d'accès est valide pour une courte période, donc vous pourriez vouloir le rafraîchir périodiquement si vous voulez l'utiliser en cache.
Ajouter une autre couche
Bien que l'accès à l'API de Gestion Logto ne soit pas autorisé pour les utilisateurs finaux, vous pouvez ajouter une autre couche pour tirer parti de la puissance de l'API de Gestion Logto et lui permettre de renforcer votre service.
Par exemple, vous construisez une communauté en ligne avec une application monopage et un service backend. Vous pourriez vouloir avoir une fonctionnalité qui permet aux utilisateurs connectés de voir les 10 utilisateurs ayant le plus de followers. Un point d'extrémité GET /api/top-users
sera créé :
Pour garantir que le point d'extrémité est uniquement accessible par les utilisateurs connectés, vous pouvez créer une "application monopage" dans la Console Logto, et intégrer le SDK Logto dans cette application. Ensuite, vous pouvez utiliser le SDK pour obtenir le jeton d'accès et envoyer la demande au point d'extrémité :
Dans le service backend, vous pouvez d'abord interroger les 10 meilleurs utilisateurs de la base de données, puis utiliser l'API de Gestion Logto pour obtenir les informations des utilisateurs :
Enfin, vous pouvez retourner la réponse à l'application monopage :
Un diagramme de séquence complet :
Dans ce flux, cela implique deux types de jetons d'accès : l'un pour le service backend pour accéder à l'API de Gestion Logto, et l'autre pour l'application monopage pour accéder au service backend.
Le premier jeton d'accès est celui que vous avez obtenu dans la section précédente. Le second jeton d'accès est celui que vous pouvez obtenir à partir du SDK Logto.
Mon jeton d'accès dans l'application monopage n'est pas un jeton Web JSON (JWT)
Si vous ne spécifiez pas la ressource lors de l'appel à la méthode getAccessToken
dans les SDK Logto, le jeton d'accès sera une chaîne opaque destinée à être utilisée pour le point d'extrémité userinfo. Pour obtenir un JWT :
- Définissez une ressource API dans la Console Logto, par exemple
https://api.exemple.com
. - Ajoutez la ressource API à la configuration
resources
du SDK Logto, par exempleresources: ['https://api.exemple.com']
. - Appelez la méthode
getAccessToken
avec la ressource API, par exemplegetAccessToken('https://api.exemple.com')
.
Pour valider le JWT dans votre service backend, veuillez vous référer à Valider le jeton d'autorisation de la demande API.
Que signifie le JWT dans l'application monopage ?
Le JWT ne signifie que l'utilisateur s'est connecté et tente d'accéder à la ressource API. Il n'implique pas que l'utilisateur ait des permissions spécifiques de la ressource API. C'est à vous de décider si vous accordez à l'utilisateur l'accès à la ressource API.
Si vous avez besoin d'un contrôle d'accès plus granulaire, vous pouvez également appliquer un contrôle d'accès basé sur les rôles (RBAC) à l'utilisateur. Voir 🔐 Contrôle d'accès basé sur les rôles (RBAC) pour plus de détails.
Notes de conclusion
L'API de Gestion Logto est puissante et flexible pour plusieurs scénarios. Avec l'aide de protocoles standards, vous pouvez facilement intégrer l'API de Gestion Logto dans votre application et construire un système sécurisé et évolutif. Si vous avez des questions, n'hésitez pas à nous contacter.