• auth
  • integration
  • oauth
  • oidc
  • identity

Effektivisera OAuth och OIDC-autentisering med Logto

Vår community har uttryckt intresse för att använda Logto som en identitetsleverantör för vissa produkter, såsom Outline eller ChatGPT-plugins. Teoretiskt sett kan Logto fungera som en OAuth- eller OIDC-leverantör (OpenID Connect) så länge produkten du vill integrera stöder något av dessa protokoll.

Gao
Gao
Founder

Logto är en lättanvänd identitetslösning som erbjuder alla nödvändiga funktioner. Den stöder olika inloggningsmetoder som användarnamn, e-postadresser, telefonnummer och populära sociala inloggningar som Google och GitHub. Oavsett om du är en individ eller ett företag av vilken storlek som helst, erbjuder Logto den perfekta Customer Identity and Access Management (CIAM)-lösningen anpassad till ditt projekts specifika behov.

Introduktion

Vår community har uttryckt intresse för att använda Logto som en identitetsleverantör för vissa produkter, såsom Outline eller ChatGPT-plugins. Teoretiskt sett kan Logto fungera som en OAuth 2.0 (OAuth) eller OpenID Connect (OIDC) leverantör så länge produkten du vill integrera stöder något av dessa protokoll.

I den här artikeln erbjuder vi en allmän handledning för OAuth- eller OIDC-integreringar med hjälp av Logto som en identitetsleverantör. Dessutom tillhandahåller vi dedikerade handledningar för specifika integreringar, inklusive:

Även om vissa detaljer kan skilja sig åt mellan produkter, förblir den grundläggande konfigurationen generisk. Om du har några frågor eller behöver ytterligare hjälp uppmuntrar vi dig att gå med i vår Discord-server för vidare diskussion.

Låt oss börja!

Förutsättningar

Innan vi börjar, se till att du har följande:

  • En körande Logto-instans eller tillgång till ett Logto Cloud-konto.
  • En produkt som stöder en tredje parts OAuth- eller OIDC-identitetsleverantör (kallas "produkten").

Konfigurera Logto

Om du själv hostar Logto, hänvisa till Logtos "Kom igång"-dokumentation för att sätta upp din Logto-instans.

Öppna Logto-konsolen genom att komma åt URL:en https://cloud.logto.io/ om du använder Logto Cloud, eller använd den endpoint du har satt upp för självhostning.

Skapa applikation

Gå till fliken "Applikationer" och klicka på "Skapa applikation".

Fliken "Applikationer" i Logto-konsolen

I modalen som dyker upp väljer du "Traditionell webb" och anger ett applikationsnamn, såsom "Min App". Klicka på "Skapa applikation".

Modalen "Skapa applikation" visar flera applikationstyper

Du kommer att dirigeras till en handledningssida i Logto. Klicka på "Hoppa över" uppe i högra hörnet för att fortsätta till sidan med applikationsdetaljer.

En sida med applikationsdetaljer

Konfigurera Redirect URI

I sektionen "Redirect URIs" anger du värdet som anges i produktdokumentationen. Vanligtvis är det dynamiskt baserat på din ID- eller endpoint-konfiguration i produkten. Till exempel, i ChatGPT-plugins, är Redirect URI:

https://chat.openai.com/aip/[your-plugin-id]/oauth/callback

Om ditt plugin-ID är foo123, bör värdet vara:

https://chat.openai.com/aip/foo123/oauth/callback

Konfigurationssektionen "Redirect URIs"

Alternativt kan det kallas "Redirect URL", "Callback URI" eller "Callback URL".

Valfritt: Se till att Logto utfärdar Refresh Token

Vissa produkter kan kräva en Refresh Token vid sändning av tokenbytesförfrågningar till Logto. För OAuth behöver du bara se till att offline_access scope är inkluderad. Enligt OIDC-protokollet måste produkten som standard också lägga till prompt=consent-parametern i den initiala autoriseringsförfrågan för Authorization Code-flödet; annars kommer ingen Refresh Token att utfärdas.

Om produkten använder OAuth eller inte lägger till prompt=consent-parametern eller offline_access scope men kräver en Refresh Token (t.ex. ChatGPT-plugins), scrolla ned till sektionen "Avancerade inställningar" och aktivera "Alltid utfärda Refresh Token".

Växeln "Alltid utfärda Refresh Token"

Klart!

Klicka på "Spara ändringar"-knappen längst ner. Håll denna sida öppen då den kommer att vara användbar för ytterligare konfiguration.

Handlingsfältet visar en "Spara ändringar"-knapp

Konfigurera produkten

Följ stegen i produktens dokumentation för konfiguration av OAuth eller OIDC.

Grundläggande konfiguration

De flesta av de nödvändiga konfigurationsvärdena kan hittas på Logto-applikationens detaljsida. Vissa namn kan ha alias, så hänvisa till tabellen nedan för referens:

Logto-namnAliasAnvändning
App-IDApplikations-ID, Klient-ID
App-hemlighetApplikationshemlighet, Klienthemlighet
Redirect URIRedirect URL, Callback URI, Callback URLRedirect efter inloggning
Post Sign-out Redirect URIsPost Sign-out Redirect URL, Post Logout (Redirect) URI, Post Logout (Redirect) URLRedirect efter utloggning
AutorisationsendpointAutorisations-URI, Autorisations-URL, Auth-endpoint, Auth-URL, Auth-URIInitial autentisering
TokenendpointToken-URL, Token-URIBegäran om tokenbeviljning
Userinfo EndpointUserinfo URL, Userinfo URI, User Info Endpoint, User Info URL, User Info URIHämta nuvarande användarinformation

För moderna produkter kan en "upptäckts-endpoint" vara tillräcklig. I sådana fall, ersätt auth med .well-known/openid-configuration i authorization endpointen. Till exempel, om autorisationsendpointen är https://default.logto.app/oidc/auth, skulle upptäckts-endpointen vara https://default.logto.app/oidc/.well-known/openid-configuration.

Valfritt: Scope-konfiguration

Om produkten stöder OIDC eller kräver att en ID-token utfärdas, lägg till openid profile i scope-konfigurationen. Hänvisa till anspråks-scope tabellen nedan:

AnspråkTypKrävs scope
substringopenid
namestringprofile
usernamestringprofile
picturestringprofile
emailstringemail
email_verifiedbooleanemail
phone_numberstringphone
phone_number_verifiedbooleanphone

Kontrollpunkt: Testa Logto-integrering

Klicka på inloggningsknappen i produkten, du kommer att dirigeras till Logtos inloggningsupplevelse.

Logto Sign-in Experience

Om allt är korrekt konfigurerat, när du har slutfört inloggningen eller registreringsprocessen i Logto, kommer du att omdirigeras tillbaka till produkten utan några fel.

Och det avslutar vår guide om att effektivisera OAuth och OIDC-autentisering med Logto. Om du stöter på några problem under integreringen, tveka inte att kontakta oss via e-post på [email protected] eller gå med i vår Discord-server!

Ytterligare läsning