Simplifiez l'authentification OAuth et OIDC avec Logto
Notre communauté a exprimé son intérêt pour l'utilisation de Logto en tant que fournisseur d'identité pour certains produits, tels que les plugins Outline ou ChatGPT. En théorie, Logto peut servir de fournisseur OAuth ou OIDC (OpenID Connect) tant que le produit que vous souhaitez intégrer prend en charge l'un de ces protocoles.
Logto est une solution d'identité facile à utiliser qui offre toutes les fonctionnalités nécessaires. Il prend en charge diverses méthodes de connexion comme les noms d'utilisateur, les emails, les numéros de téléphone et les connexions sociales populaires telles que Google et GitHub. Que vous soyez un particulier ou une entreprise de toute taille, Logto offre la solution parfaite de gestion des identités et des accès clients (CIAM) adaptée aux besoins spécifiques de votre projet.
Introduction
Notre communauté a exprimé son intérêt pour l'utilisation de Logto en tant que fournisseur d'identité pour certains produits, tels que les plugins Outline ou ChatGPT. En théorie, Logto peut servir de fournisseur OAuth 2.0 (OAuth) ou OpenID Connect (OIDC) tant que le produit que vous souhaitez intégrer prend en charge l'un de ces protocoles.
Dans cet article, nous proposons un tutoriel général pour les intégrations OAuth ou OIDC en utilisant Logto comme fournisseur d'identité. De plus, nous fournissons des tutoriels dédiés pour des intégrations spécifiques, y compris :
- Implémenter l'authentification utilisateur des plugins ChatGPT avec Logto
- Simplifier l'authentification d'Outline avec Logto
Bien que certains détails puissent varier selon les produits, la configuration fondamentale reste générique. Si vous avez des questions ou besoin d'aide supplémentaire, nous vous encourageons à rejoindre notre serveur Discord pour continuer la discussion.
Commençons !
Prérequis
Avant de commencer, assurez-vous d'avoir les éléments suivants :
- Une instance Logto en cours d'exécution ou un accès à un compte Logto Cloud.
- Un produit qui prend en charge un fournisseur d'identité OAuth ou OIDC tiers (appelé "le produit").
Configurer Logto
Si vous hébergez Logto vous-même, consultez la documentation "Get started" de Logto pour configurer votre instance Logto.
Ouvrez la Console Logto en accédant à l'URL https://cloud.logto.io/
si vous utilisez Logto Cloud, ou utilisez le point de terminaison que vous avez configuré pour l'hébergement local.
Créer une application
Allez dans l'onglet "Applications" et cliquez sur "Créer une application".
Dans la fenêtre modale qui apparaît, choisissez "Web traditionnel" et fournissez un nom d'application, tel que "Mon application". Cliquez sur "Créer une application".
Vous serez dirigé vers une page de tutoriel dans Logto. Cliquez sur "Passer" dans le coin supérieur droit pour accéder à la page de détails de l'application.
Configurer l'URI de redirection
Dans la section "URIs de redirection", entrez la valeur fournie dans la documentation du produit. En général, elle est dynamique en fonction de votre ID ou de la configuration du point de terminaison dans le produit. Par exemple, dans les plugins ChatGPT, l'URI de redirection est :
https://chat.openai.com/aip/[your-plugin-id]/oauth/callback
Si votre ID de plugin est foo123
, la valeur devrait être :
https://chat.openai.com/aip/foo123/oauth/callback
Alternativement, elle peut être appelée "URL de redirection," "URI de rappel," ou "URL de rappel.”
Optionnel : Assurez-vous que Logto délivre un Refresh Token
Certains produits peuvent nécessiter un Refresh Token lors de l'envoi de requêtes d'échange de jetons à Logto. Pour OAuth, vous devez juste vous assurer que le champ offline_access
est inclus. Selon le protocole OIDC, par défaut, le produit doit également ajouter le paramètre prompt=consent
dans la requête d'autorisation initiale pour le flux de code d'autorisation ; sinon, aucun Refresh Token ne sera délivré.
Si le produit utilise OAuth ou n'ajoute pas le paramètre prompt=consent
ou le champ offline_access
mais nécessite un Refresh Token (par exemple, les plugins ChatGPT), faites défiler jusqu'à la section "Paramètres avancés" et activez "Toujours délivrer un Refresh Token."
C'est tout !
Cliquez sur le bouton "Enregistrer les modifications" en bas. Gardez cette page ouverte car elle sera utile pour une configuration plus poussée.
Configurez le produit
Suivez les étapes décrites dans la documentation du produit pour la configuration OAuth ou OIDC.
Configuration de base
La plupart des valeurs de configuration requises peuvent être trouvées sur la page de d étails de l'application Logto. Certains noms peuvent avoir des alias, donc référez-vous au tableau ci-dessous pour référence :
Nom Logto | Alias | Utilisation |
---|---|---|
ID de l'application | ID de l'application, ID client | |
Secret de l'application | Secret de l'application, Secret client | |
URI de redirection | URL de redirection, URI de rappel, URL de rappel | Redirection après connexion |
URIs de redirection après déconnexion | URL de redirection après déconnexion, URI de redirection (déconnexion), URL de redirection (déconnexion) | Redirection après déconnexion |
Point de terminaison d'autorisation | URI d'autorisation, URL d'autorisation, Point d'autorisation, URL d'auth, URI d'auth | Authentification initiale |
Point de terminaison de jeton | URL de jeton, URI de jeton | Demande de jeton |
Point de terminaison utilisateur | URL utilisateur, URI utilisateur, Point d'information utilisateur, URL d'information utilisateur, URI d'info utilisateur | Récupérer les informations de l'utilisateur actuel |
Pour les produits modernes, un "point de terminaison de découverte" peut être suffisant. Dans ce cas, remplacez auth
par .well-known/openid-configuration
dans le point de terminaison d'autorisation. Par exemple, si le point de terminaison d'autorisation est https://default.logto.app/oidc/auth
, le point de terminaison de découverte serait https://default.logto.app/oidc/.well-known/openid-configuration
.
Optionnel : Configuration de la portée
Si le produit prend en charge l'OIDC ou nécessite qu'un jeton ID soit délivré, ajoutez openid profile
à la configuration de la portée. Reportez-vous au tableau revendication-portée ci-dessous :
Revendication | Type | Portée requise |
---|---|---|
sub | chaîne | openid |
nom | chaîne | profile |
nom d'utilisateur | chaîne | profile |
photo | chaîne | profile |
chaîne | ||
email vérifié | booléen | |
numéro de téléphone | chaîne | phone |
numéro de téléphone vérifié | booléen | phone |
Point de contrôle : Testez l'intégration Logto
Cliquez sur le bouton de connexion dans le produit, vous serez dirigé vers l'expérience de connexion Logto.
Si tout est correctement configuré, une fois que vous avez terminé le processus de connexion ou d'inscription dans Logto, vous serez redirigé vers le produit sans aucune erreur.
Cela conclut notre guide pour simplifier l'authentification OAuth et OIDC avec Logto. Si vous rencontrez des problèmes lors de l'intégration, n'hésitez pas à nous contacter par email à [email protected] ou rejoignez notre serveur Discord !