Stroomlijn OAuth en OIDC-authenticatie met Logto
Onze gemeenschap heeft interesse getoond in het gebruik van Logto als Identity Provider voor bepaalde producten, zoals Outline of ChatGPT-plugins. In theorie kan Logto dienen als een OAuth- of OIDC (OpenID Connect) provider, zolang het product dat je wilt integreren een van deze protocollen ondersteunt.
Logto is een gebruiksvriendelijke identiteitsoplossing die alle noodzakelijke functies biedt. Het ondersteunt verschillende aanmeldingsmethoden zoals gebruikersnamen, e-mails, telefoonnummers en populaire sociale aanmeldingen zoals Google en GitHub. Of je nu een individu bent of een bedrijf van welke omvang dan ook, Logto biedt de perfecte Customer Identity and Access Management (CIAM) oplossing, aangepast aan de specifieke behoeften van je project.
Introductie
Onze gemeenschap heeft interesse getoond in het gebruik van Logto als Identity Provider voor bepaalde producten, zoals Outline of ChatGPT-plugins. In theorie kan Logto dienen als een OAuth 2.0 (OAuth) of OpenID Connect (OIDC) provider, zolang het product dat je wilt integreren een van deze protocollen ondersteunt.
In dit artikel bieden we een algemene handleiding voor OAuth- of OIDC-integraties met Logto als Identity Provider. Daarnaast bieden we speciale tutorials voor specifieke integraties, waaronder:
- Implementeer ChatGPT-plugins gebruikersauthenticatie met Logto
- Vereenvoudig Outline-authenticatie met Logto
Hoewel bepaalde details kunnen verschillen tussen producten, blijft de fundamentele configuratie generiek. Als je vragen hebt of verdere hulp nodig hebt, nodigen we je uit om deel te nemen aan onze Discord-server voor verdere discussie.
Laten we beginnen!
Voorwaarden
Voordat we beginnen, zorg ervoor dat je het volgende hebt:
- Een draaiende Logto-omgeving of toegang tot een Logto Cloud-account.
- Een product dat een externe OAuth- of OIDC-identiteitsprovider ondersteunt (aangeduid als "het product").
Configureer Logto
Als je Logto zelf host, raadpleeg dan de Logto "Aan de slag" documentatie om je Logto-instantie op te zetten.
Open de Logto Console door de URL https://cloud.logto.io/
te openen als je Logto Cloud gebruikt, of gebruik het eindpunt dat je hebt ingesteld voor zelf-hosting.
Maak applicatie aan
Ga naar het tabblad "Applicaties" en klik op "Maak applicatie aan".
In het verschijnende venster kies je "Traditionele Web" en geef je een applicatienaam op, zoals "Mijn App". Klik vervolgens op "Maak applicatie aan".
Je wordt doorgestuurd naar een tutorialpagina in Logto. Klik op "Overslaan" in de rechterbovenhoek om verder te gaan naar de Applicatiedetailpagina.
Configureer Redirect URI
Voer in de sectie "Redirect URIs" de waarde in die wordt opgegeven in de productdocumentatie. Meestal is deze dynamisch op basis van je ID of eindpuntconfiguratie in het product. In ChatGPT-plugins is de Redirect URI bijvoorbeeld:
https://chat.openai.com/aip/[your-plugin-id]/oauth/callback
Als je plugin-ID foo123
is, dan moet de waarde zijn:
https://chat.openai.com/aip/foo123/oauth/callback
Deze kan ook worden aangeduid als "Redirect URL", "Callback URI" of "Callback URL."
Optioneel: Zorg ervoor dat Logto een verversingstoken uitgeeft
Sommige producten vereisen een Verversingstoken bij het verzenden van tokenruilverzoeken naar Logto. Voor OAuth hoef je alleen ervoor te zorgen dat de offline_access
scope is inbegrepen. Volgens het OIDC-protocol moet het product standaard ook de prompt=consent
zoekparameter toevoegen in het eerste autorisatieverzoek voor de Autorisatiecode-flow; anders wordt er geen verversingstoken uitgegeven.
Als het product OAuth gebruikt of de prompt=consent
parameter of de offline_access
scope niet toevoegt, maar wel een verversingstoken vereist (bijvoorbeeld ChatGPT-plugins), scroll dan naar beneden naar de sectie "Geavanceerde instellingen" en schakel "Altijd een verversingstoken uitgeven" in.
Dat is het!
Klik op de knop "Wijzigingen Opslaan" onderaan. Houd deze pagina open, want deze zal nuttig zijn voor verdere configuratie.
Configureer het product
Volg de stappen in de productdocumentatie voor OAuth- of OIDC-configuratie.
Basisconfiguratie
De meeste vereiste configuratiewaarden zijn te vinden op de Logto applicatiedetailpagina. Sommige namen kunnen aliassen hebben, dus raadpleeg de onderstaande tabel ter referentie:
Logto Naam | Aliassen | Gebruik |
---|---|---|
App ID | Applicatie-ID, Client-ID | |
App Secret | Applicatiegeheim, Client Secret | |
Redirect URI | Redirect URL, Callback URI, Callback URL | Redirect na aanmelding |
Post Sign-out Redirect URIs | Post Sign-out Redirect URL, Post Logout (Redirect) URI, Post Logout (Redirect) URL | Redirect na afmelding |
Authorization Endpoint | Authorization URI, Authorization URL, Auth Endpoint, Auth URL, Auth URI | Initiële authenticatie |
Token Endpoint | Token URL, Token URI | Token grant aanvragen |
Userinfo Endpoint | Userinfo URL, Userinfo URI, User Info Endpoint, User Info URL, User Info URI | Huidige gebruikersinformatie ophalen |
Voor moderne producten kan een "ontdekkings-eindpunt" voldoende zijn. In dergelijke gevallen vervang auth
met .well-known/openid-configuration
in het Authorization Endpoint. Bijvoorbeeld, als het Authorization Endpoint is https://default.logto.app/oidc/auth
, zou het ontdekkings-eindpunt zijn https://default.logto.app/oidc/.well-known/openid-configuration
.
Optioneel: Scope-configuratie
Als het product OIDC ondersteunt of vereist dat een ID Token wordt uitgegeven, voeg dan openid profile
toe aan de scope-configuratie. Raadpleeg de claim-scope tabel hieronder:
Claim | Type | Vereiste Scope |
---|---|---|
sub | string | openid |
name | string | profile |
username | string | profile |
picture | string | profile |
string | ||
email_verified | boolean | |
phone_number | string | phone |
phone_number_verified | boolean | phone |
Controlepunt: Test Logto-integratie
Klik op de aanmeldknop in het product, je wordt doorgestuurd naar de Logto-aanmeldervaring.
Als alles correct is geconfigureerd, word je zonder fouten teruggeleid naar het product nadat je het aanmeld- of registratieproces in Logto hebt voltooid.
En dat is het einde van onze gids over het stroomlijnen van OAuth en OIDC-authenticatie met Logto. Als je problemen ondervindt tijdens de integratie, aarzel dan niet om contact met ons op te nemen via e-mail op [email protected] of sluit je aan bij onze Discord-server!