Deutsch
  • auth
  • integration
  • oauth
  • oidc
  • identity

Optimieren Sie OAuth- und OIDC-Authentifizierung mit Logto

Unsere Community hat Interesse daran geäußert, Logto als Identity Provider für bestimmte Produkte, wie Outline oder ChatGPT-Plugins, zu verwenden. Theoretisch kann Logto als OAuth- oder OIDC (OpenID Connect) Provider dienen, solange das Produkt, das Sie integrieren möchten, eines dieser Protokolle unterstützt.

Gao
Gao
Founder

Logto ist eine einfach zu bedienende Identitätslösung, die alle notwendigen Funktionen bietet. Es unterstützt verschiedene Anmeldemethoden wie Benutzernamen, E-Mails, Telefonnummern und beliebte soziale Anmeldungen wie Google und GitHub. Egal, ob Sie ein Einzelunternehmer oder ein Unternehmen jeder Größe sind, Logto bietet die perfekte Customer Identity and Access Management (CIAM) Lösung, die auf die spezifischen Bedürfnisse Ihres Projekts zugeschnitten ist.

Einführung

Unsere Community hat Interesse daran geäußert, Logto als Identity Provider für bestimmte Produkte, wie Outline oder ChatGPT-Plugins, zu verwenden. Theoretisch kann Logto als OAuth 2.0 (OAuth) oder OpenID Connect (OIDC) Provider dienen, solange das Produkt, das Sie integrieren möchten, eines dieser Protokolle unterstützt.

In diesem Artikel bieten wir ein allgemeines Tutorial für OAuth- oder OIDC-Integrationen unter Verwendung von Logto als Identity Provider an. Zusätzlich bieten wir spezielle Tutorials für bestimmte Integrationen, einschließlich:

Obwohl bestimmte Details zwischen den Produkten variieren können, bleibt die grundlegende Konfiguration allgemein. Wenn Sie Fragen haben oder weitere Unterstützung benötigen, ermutigen wir Sie, unserem Discord-Server für weitere Diskussionen beizutreten.

Lassen Sie uns beginnen!

Voraussetzungen

Bevor wir beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Eine laufende Logto-Instanz oder Zugang zu einem Logto Cloud-Konto.
  • Ein Produkt, das einen Drittanbieter-OAuth- oder OIDC-Identitätsanbieter unterstützt (im Folgenden als "das Produkt" bezeichnet).

Logto konfigurieren

Falls Sie Logto selbst hosten, beziehen Sie sich auf die Logto "Erste Schritte" Dokumentation, um Ihre Logto-Instanz einzurichten.

Öffnen Sie Logto Console, indem Sie die URL https://cloud.logto.io/ aufrufen, wenn Sie Logto Cloud verwenden, oder verwenden Sie den Endpunkt, den Sie für das Selbsthosting eingerichtet haben.

Anwendung erstellen

Gehen Sie zum Tab "Anwendungen" und klicken Sie auf "Anwendung erstellen".

Der "Anwendungen"-Tab von Logto Console

Wählen Sie im erscheinenden Modal "Traditionelles Web" aus und geben Sie einen Anwendungsnamen an, wie z.B. "Meine App". Klicken Sie auf "Anwendung erstellen".

Das "Anwendung erstellen"-Modal zeigt verschiedene Anwendungstypen

Sie werden zu einer Tutorial-Seite in Logto geleitet. Klicken Sie oben rechts auf "Überspringen", um zur Anwendungsdetailseite zu gelangen.

Eine Anwendungsdetailseite

Redirect-URI konfigurieren

Geben Sie im Abschnitt "Redirect URIs" den Wert ein, der in der Produktdokumentation bereitgestellt wird. In der Regel ist er dynamisch basierend auf Ihrer ID oder Endpunktkonfiguration im Produkt. Zum Beispiel ist bei ChatGPT-Plugins die Redirect-URI:

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

Wenn Ihre Plugin-ID foo123 ist, sollte der Wert sein:

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

Der "Redirect URIs"-Konfigurationsbereich

Alternativ kann er als "Redirect URL," "Callback URI," oder "Callback URL” bezeichnet werden.

Optional: Sicherstellen, dass Logto Refresh-Token ausstellt

Einige Produkte benötigen möglicherweise ein Refresh-Token, wenn Token-Exchange-Anfragen an Logto gesendet werden. Für OAuth müssen Sie lediglich sicherstellen, dass der offline_access-Bereich enthalten ist. Laut dem OIDC-Protokoll muss das Produkt standardmäßig auch den Suchparameter prompt=consent in der anfänglichen Autorisierungsanfrage für den Authorization Code Flow hinzufügen; andernfalls wird kein Refresh-Token ausgegeben.

Wenn das Produkt OAuth verwendet oder den Parameter prompt=consent nicht hinzufügt oder den offline_access-Bereich benötigt, aber einen Refresh-Token verlangt (z.B. ChatGPT-Plugins), scrollen Sie zum Abschnitt "Erweiterte Einstellungen" nach unten und aktivieren Sie "Immer Refresh-Token ausstellen".

Der "Immer Refresh-Token ausstellen"-Schalter

Das war's!

Klicken Sie unten auf die Schaltfläche "Änderungen speichern". Halten Sie diese Seite geöffnet, da sie für die weitere Konfiguration nützlich sein wird.

Die Aktionsleiste zeigt eine "Änderungen speichern"-Schaltfläche

Das Produkt konfigurieren

Befolgen Sie die Schritte in der Produktdokumentation für die OAuth- oder OIDC-Konfiguration.

Grundkonfiguration

Die meisten der erforderlichen Konfigurationswerte finden Sie auf der Logto-Anwendungsdetailseite. Einige Namen können Aliase haben, beziehen Sie sich daher auf die folgende Tabelle zur Referenz:

Logto-NameAliaseVerwendung
App-IDApplication ID, Client ID
App-GeheimnisApplication Secret, Client Secret
Redirect-URIRedirect URL, Callback URI, Callback URLRedirect nach Anmeldung
Redirect-URIs nach AbmeldenPost Sign-out Redirect URL, Post Logout (Redirect) URI, Post Logout (Redirect) URLRedirect nach Abmeldung
AutorisierungsendpunktAuthorization URI, Authorization URL, Auth Endpoint, Auth URL, Auth URIErstauthentifizierung
Token-EndpunktToken URL, Token URIAnforderung eines Token-Grant
Userinfo-EndpunktUserinfo URL, Userinfo URI, User Info Endpoint, User Info URL, User Info URIAbrufen aktueller Benutzerinfo

Für moderne Produkte kann ein "Discovery-Endpunkt" ausreichend sein. Ersetzen Sie in solchen Fällen auth durch .well-known/openid-configuration im Autorisierungsendpunkt. Zum Beispiel, wenn der Autorisierungsendpunkt https://default.logto.app/oidc/auth ist, wäre der Discovery-Endpunkt https://default.logto.app/oidc/.well-known/openid-configuration.

Optional: Bereichskonfiguration

Wenn das Produkt OIDC unterstützt oder das Ausstellen eines ID-Tokens erfordert, fügen Sie openid profile zur Bereichskonfiguration hinzu. Beziehen Sie sich auf die Claimscope-Tabelle unten:

ClaimTypErforderlicher Bereich
substringopenid
namestringprofile
usernamestringprofile
picturestringprofile
emailstringemail
email_verifiedbooleanemail
phone_numberstringphone
phone_number_verifiedbooleanphone

Checkpoint: Logto-Integration testen

Klicken Sie auf die Anmeldeschaltfläche im Produkt, Sie werden zum Logto-Anmeldeerlebnis weitergeleitet.

Logto Anmeldeerlebnis

Wenn alles korrekt konfiguriert ist, werden Sie nach Abschluss des Anmelde- oder Registrierungsprozesses in Logto ohne Fehler zum Produkt zurückgeleitet.

Und das war unser Leitfaden zur Optimierung der OAuth- und OIDC-Authentifizierung mit Logto. Wenn Sie während der Integration auf Probleme stoßen, zögern Sie nicht, uns per E-Mail an [email protected] zu kontaktieren oder unserem Discord-Server beizutreten!

Weiterführende Literatur