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.
GaoFounder
Verschwenden Sie keine Wochen mit Benutzerauthentifizierung
Bringen Sie sichere Apps schneller mit Logto auf den Markt. Integrieren Sie Benutzerauthentifizierung in Minuten und konzentrieren Sie sich auf Ihr Kernprodukt.
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.
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.
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.
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.
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:
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".
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 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.
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:
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!