Aller au contenu principal

Application tierce (OAuth / OIDC)

L'intégration d'applications tierces de Logto vous permet d'utiliser Logto comme Fournisseur d’identité (IdP) pour des applications externes.

Un Fournisseur d’identité (IdP) est un service qui vérifie les identités des utilisateurs et gère leurs identifiants de connexion. Après avoir confirmé l'identité d'un utilisateur, l'IdP génère des jetons d’authentification ou des assertions et permet à l'utilisateur d'accéder à diverses applications ou services sans avoir à se reconnecter.

Contrairement aux applications que vous avez créées dans le guide Intégrer Logto à votre application qui sont développées et entièrement contrôlées par vous, les applications tierces sont des services indépendants développés par des développeurs externes ou des partenaires commerciaux.

Cette approche d'intégration est bien adaptée aux scénarios métier courants. Vous pouvez permettre aux utilisateurs d'accéder à des applications partenaires en utilisant leurs comptes Logto, tout comme les utilisateurs d'entreprise se connectent à Slack avec Google Workspace. Vous pouvez également créer une plateforme ouverte où les applications tierces peuvent ajouter la fonctionnalité "Se connecter avec Logto", similaire à "Se connecter avec Google".

Logto est un service d'identité construit sur le protocole OpenID Connect (OIDC), offrant des capacités d’authentification (Authentication) et d’autorisation (Authorization). Cela rend l'intégration d'une application tierce OIDC aussi simple qu'une application web traditionnelle.

Ainsi, puisque OIDC s'appuie sur OAuth 2.0 en ajoutant une couche d’authentification, vous pouvez également intégrer une application tierce en utilisant le protocole OAuth.

Créer une application tierce dans Logto

  1. Rendez-vous sur Console > Applications.
  2. Cliquez sur le bouton "Créer une application". Sélectionnez "Application tierce" comme type d'application et choisissez l'un des protocoles d'intégration suivants :
    • OIDC / OAuth
  3. Sélectionnez un type d'application en fonction du type de l'application tierce :
    • Web traditionnel : Applications rendues côté serveur (ex. Node.js, PHP, Java) pouvant stocker un secret client en toute sécurité côté serveur.
    • Application monopage (SPA) : Applications rendues côté client (ex. React, Vue, Angular) qui s'exécutent entièrement dans le navigateur et ne peuvent pas stocker de secrets en toute sécurité.
    • Native : Applications mobiles ou de bureau (ex. iOS, Android, Electron) qui s'exécutent sur les appareils des utilisateurs.
  4. Saisissez un nom et une description pour votre application et cliquez sur le bouton "Créer". Une nouvelle application tierce sera créée.

Toutes les applications tierces créées seront répertoriées sur la page Applications sous l’onglet "Applications tierces". Cette organisation vous aide à les distinguer de vos propres applications, facilitant ainsi la gestion de toutes vos applications en un seul endroit.

Guide d'intégration

Trouver les configurations de l'application

Sur la page de détails de l'application, vous pouvez trouver le Client ID, le Client secret (pour les applications web traditionnelles uniquement), et les points de terminaison OIDC nécessaires à l'intégration.

Si le service tiers prend en charge la découverte OIDC, fournissez simplement le point de terminaison de découverte. Sinon, cliquez sur Afficher les détails des points de terminaison pour voir tous les points de terminaison, y compris le point de terminaison d’autorisation et le point de terminaison de jeton.

Intégrer avec des services prenant en charge un IdP tiers

Si vous connectez un service ou un produit qui prend en charge nativement la configuration d'un fournisseur d'identité externe (ex. plateformes SaaS d'entreprise, outils de collaboration), la configuration est simple :

  1. Ouvrez la page de configuration IdP ou SSO du service.
  2. Copiez le Client ID (et le Client secret si nécessaire) depuis Logto et collez-les dans la configuration du service.
  3. Fournissez le point de terminaison de découverte si le service prend en charge la découverte automatique OIDC, ou copiez manuellement le point de terminaison d’autorisation et le point de terminaison de jeton.
  4. Copiez l’URI de redirection depuis la page de configuration du service et ajoutez-le aux URI de redirection autorisés de votre application Logto.
  5. Configurez les portées (scopes) si le service le permet. Puisque Logto est un fournisseur OIDC, incluez la portée openid si vous devez authentifier les utilisateurs (donne accès à un jeton d’identifiant et au point de terminaison UserInfo). La portée openid est facultative si vous n'avez besoin que d'un accès aux ressources OAuth.

Le service gérera automatiquement le flux OAuth / OIDC une fois configuré.

Intégrer via le protocole OAuth / OIDC

Si une application tierce doit s'intégrer à Logto en tant qu’IdP de manière programmatique, elle doit implémenter le flux d’autorisation par code standard. Nous recommandons d'utiliser une bibliothèque cliente OAuth 2.0 / OIDC pour votre langage de programmation afin de gérer l'implémentation.

Les applications web traditionnelles sont des clients confidentiels qui peuvent stocker un secret client en toute sécurité côté serveur. Voir flux d’autorisation par code pour tous les détails d’implémentation.

Étapes clés :

  1. Initier l’autorisation : Redirigez l'utilisateur vers le point de terminaison d’autorisation de Logto avec client_id, redirect_uri, response_type=code et scope.
  2. Gérer le rappel : Recevez le code d’autorisation depuis la redirection.
  3. Échanger les jetons : Depuis votre backend, effectuez une requête POST vers le point de terminaison de jeton avec le code, le client_id et le client_secret.

Pour des raisons de sécurité, toutes les applications tierces OIDC seront redirigées vers un écran de consentement pour l’autorisation de l’utilisateur après leur authentification par Logto.

Toutes les permissions de profil utilisateur demandées par l’application tierce, les portées de ressources API, les permissions d’organisation et les informations d’appartenance à l’organisation seront affichées sur l’écran de consentement.

Ces permissions demandées ne seront accordées à l’application tierce qu’après que l’utilisateur ait cliqué sur le bouton "Autoriser".

écran de consentement

Actions complémentaires

FAQ

Logto utilise le Contrôle d’accès basé sur les rôles (RBAC) pour gérer les permissions des utilisateurs. Sur l’écran de consentement, seules les portées (permissions) déjà attribuées à l’utilisateur — via ses rôles — seront affichées. Si une application tierce demande des portées que l’utilisateur ne possède pas, celles-ci seront exclues afin d’éviter tout consentement non autorisé.

Pour gérer cela :

  • Définissez des rôles globaux ou rôles d’organisation avec des portées spécifiques.
  • Attribuez des rôles aux utilisateurs selon leurs besoins d’accès.
  • Les utilisateurs hériteront automatiquement des portées de leurs rôles.

Cas d’usage : Intégrer Apache Answer pour lancer une communauté pour vos utilisateurs

Utiliser Logto comme fournisseur d’identité tiers (IdP)