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.
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:
- Implementierung der Benutzer-Authentifizierung von ChatGPT-Plugins mit Logto
- Vereinfachte Outline-Authentifizierung mit Logto
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".
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".
Sie werden zu einer Tutorial-Seite in Logto geleitet. Klicken Sie oben rechts auf "Überspringen", um zur Anwendungsdetailseite zu gelangen.
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
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".
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.
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-Name | Aliase | Verwendung |
---|---|---|
App-ID | Application ID, Client ID | |
App-Geheimnis | Application Secret, Client Secret | |
Redirect-URI | Redirect URL, Callback URI, Callback URL | Redirect nach Anmeldung |
Redirect-URIs nach Abmelden | Post Sign-out Redirect URL, Post Logout (Redirect) URI, Post Logout (Redirect) URL | Redirect nach Abmeldung |
Autorisierungsendpunkt | Authorization URI, Authorization URL, Auth Endpoint, Auth URL, Auth URI | Erstauthentifizierung |
Token-Endpunkt | Token URL, Token URI | Anforderung eines Token-Grant |
Userinfo-Endpunkt | Userinfo URL, Userinfo URI, User Info Endpoint, User Info URL, User Info URI | Abrufen 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:
Claim | Typ | Erforderlicher Bereich |
---|---|---|
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 |
Checkpoint: Logto-Integration testen
Klicken Sie auf die Anmeldeschaltfläche im Produkt, Sie werden zum Logto-Anmeldeerlebnis weitergeleitet.
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!