Aller au contenu principal

Autoriser l’accès d’un agent IA tiers à votre application

Ce guide vous accompagne dans l’intégration de Logto à votre service et l’activation de l’accès par des agents IA.

Vous apprendrez à:

  • Configurer Logto comme serveur d’autorisation pour votre service.
  • Obtenir un jeton d’accès (Access token) pour permettre à l’agent IA d’accéder à votre service.
  • Tester le flux avec un agent IA.

Différence entre un agent IA tiers et votre propre agent IA (ou application)

Prenons un exemple. Imaginez que vous êtes un développeur proposant un service de données météorologiques.

Application météo officielle (Votre propre agent IA / application)

  • Vous proposez une application météo officielle permettant aux utilisateurs de consulter la météo.
  • Fonctionnement: L’application météo officielle se connecte à votre service en utilisant Logto pour authentifier les utilisateurs. Lorsque Alice se connecte, elle accède automatiquement aux données météo, sans écran de consentement supplémentaire, car il s’agit de votre application de confiance.

Agent IA tiers

  • Vous développez un écosystème autour de votre service, et un autre développeur crée «WeatherBot» (un assistant IA capable de fournir des mises à jour et prévisions météo) en l’intégrant comme agent IA tiers.
  • Fonctionnement: WeatherBot (agent IA tiers) souhaite accéder aux données météo de l’utilisateur via votre service. Lorsque Alice se connecte à WeatherBot avec son compte:
    • Un écran de consentement s’affiche, demandant l’autorisation pour que WeatherBot accède à ses données météo.
    • Alice peut autoriser ou refuser cet accès.
    • Seules les données auxquelles elle consent sont partagées avec WeatherBot, et WeatherBot ne peut accéder à aucune donnée supplémentaire sans un nouveau consentement explicite.

Ce contrôle d’accès (Permission) garantit la sécurité des données utilisateur: même si votre service gère toutes les données, les agents IA tiers comme WeatherBot ne peuvent accéder qu’aux informations explicitement autorisées par l’utilisateur. Ils ne peuvent pas contourner ce processus, car il est imposé par votre implémentation du contrôle d’accès dans le service.

Résumé

Type de clientExempleConsentement requis?Qui le contrôle?
Application météo officielleVotre propre application météoNonVous (le développeur)
Agent IA tiersAssistant WeatherBotOuiUn autre développeur
remarque:

Si vous souhaitez intégrer votre service à votre propre agent IA ou application, veuillez consulter nos guides de démarrage rapide pour plus d’informations.

Prérequis

  • Un tenant Logto Cloud (ou auto-hébergé)
  • Un service exposant des points de terminaison API à destination de l’agent IA

Comprendre le flux

  • Service: Le service que vous souhaitez exposer à l’agent IA.
  • Agent IA: L’agent IA qui accédera à votre service.
  • Logto: Sert de fournisseur OpenID Connect (serveur d’autorisation) et gère les identités des utilisateurs.

Un diagramme de séquence non normatif illustre le déroulement global du processus:

Configurer un agent IA tiers

Pour permettre à un agent IA tiers d’accéder à votre service, suivez ces étapes:

  1. Enregistrez l’agent IA dans Logto: Créez une application dans Logto pour représenter l’agent IA.
  2. Configurez l’agent IA: Assurez-vous que l’agent IA peut effectuer des requêtes vers votre service et gérer la réponse 401 Non autorisé.
  3. Implémentez le flux d’autorisation: L’agent IA doit pouvoir gérer le flux d’autorisation OAuth 2.0 pour obtenir un jeton d’accès auprès de Logto.
  4. Testez l’intégration: Utilisez l’agent IA pour accéder à votre service et vérifiez qu’il peut authentifier et autoriser les requêtes avec succès.

Configurer un agent IA tiers dans Logto

Pour permettre à l’agent IA tiers d’accéder à votre service, vous devez configurer une application tierce dans Logto. Cette application sera utilisée pour représenter l’agent IA et obtenir les identifiants nécessaires à l’authentification et à l’autorisation.

Autoriser les développeurs à créer des applications tierces dans Logto

Si vous construisez une place de marché ou souhaitez permettre aux développeurs de créer des applications tierces dans Logto, vous pouvez utiliser la Logto Management API pour créer des applications tierces de manière programmatique. Cela permet aux développeurs d’enregistrer leurs applications et d’obtenir les identifiants nécessaires à l’authentification.

Vous devrez héberger votre propre service pour gérer le processus d’enregistrement des clients. Ce service interagira avec la Logto Management API pour créer des applications tierces au nom des développeurs.

Alternativement, vous pouvez créer manuellement des applications tierces dans la Console Logto pour vous familiariser avec le processus.

Créer manuellement une application tierce dans Logto

Vous pouvez créer manuellement une application tierce dans la Console Logto à des fins de test ou pour des intégrations ponctuelles. Ceci est utile lorsque vous souhaitez tester rapidement l’intégration sans mettre en œuvre un flux complet d’enregistrement de client.

  1. Connectez-vous à votre Console Logto.

  2. Allez dans ApplicationsCréer une applicationApplication tierce -> OIDC.

  3. Renseignez le nom de l’application et les autres champs requis, puis cliquez sur Créer une application.

  4. Cliquez sur l’onglet Permissions, dans la section Utilisateur, cliquez sur "Ajouter".

  5. Dans la boîte de dialogue qui s’ouvre -> Données utilisateur -> sélectionnez les permissions profile, email, puis cliquez sur Enregistrer.

  6. Dans l’application tierce, configurez les portées (scopes) pour demander les permissions (portées) openid profile email.

    Remarque : openid est requis pour OIDC, et profile et email sont les permissions que vous avez ajoutées à l’étape précédente.

  7. Configurez l’URI de redirection de votre application tierce en conséquence. N’oubliez pas de mettre à jour l’URI de redirection dans Logto également.

Permissions de l’application tierce

Sous le capot, une application tierce n'est qu'un client OAuth 2.0 / OIDC standard. Cela signifie que vous (ou le développeur tiers) pouvez utiliser n'importe quelle bibliothèque ou framework OAuth 2.0 / OIDC pour intégrer Logto.

Si vous n'êtes pas familier avec OAuth 2.0 ou OIDC, vous pouvez commencer par suivre l'un de nos guides de démarrage rapide “Web traditionnel”.

Quelques points à garder à l'esprit :

  1. Logto exige actuellement que les applications tierces soient des applications “Web traditionnel”. En d'autres termes, l'application doit disposer d'un serveur backend (ou backend-for-frontend) pour stocker en toute sécurité le secret client.
  2. La plupart de nos guides de démarrage rapide sont rédigés pour des applications propriétaires, mais vous pouvez tout de même les utiliser comme référence pour l'intégration d'applications tierces.
  3. La principale différence est que les applications tierces afficheront un écran de consentement (Consent screen), demandant aux utilisateurs une permission explicite pour accéder à leurs données.

Vous pouvez trouver plus d'informations dans nos guides de démarrage rapide.

Configurer l’autorisation dans votre service

Pour activer le contrôle d’accès dans votre service, vous devez:

  1. Définir les ressources API dans Logto: Créez des ressources API dans Logto représentant les points de terminaison auxquels votre agent IA accédera.
  2. Implémenter la logique de contrôle d’accès: Dans votre service, implémentez la logique permettant de valider le jeton d’accès reçu de l’agent IA et de vérifier si l’utilisateur dispose des permissions nécessaires pour accéder à la ressource demandée.
  3. Répondre à l’agent IA: Si le jeton d’accès est valide et que l’utilisateur a la permission, retournez la ressource demandée. Sinon, retournez une réponse 401 Non autorisé.

Pour en savoir plus sur la mise en œuvre du contrôle d’accès dans votre service, consultez notre guide sur l’Autorisation.

Tester l’intégration

  1. Démarrez votre service.
  2. Démarrez l’agent IA.
  3. Depuis l’agent IA, invoquez le point de terminaison API pour accéder à votre service.
  4. L’agent IA doit gérer la réponse 401 Non autorisé et rediriger l’utilisateur vers Logto pour l’authentification.
  5. Après authentification réussie, l’agent IA doit recevoir un jeton d’accès et l’utiliser pour effectuer des requêtes vers votre service.
  6. L’agent IA doit pouvoir récupérer la ressource depuis votre service en utilisant le jeton d’accès.