Wie man Logto für seine Encore-Anwendung verwendet
Lerne, wie du Logto für die Benutzer-Authentifizierung in deiner Encore-Backend-Anwendung verwendest. In diesem Leitfaden zeigen wir dir, wie du dein Go-Backend mit Logto integrieren kannst.
Encore ist eine Backend-Entwicklungsplattform, die es einfach macht, produktionsreife APIs und Microservices zu erstellen.
Logto ist eine moderne Alternative zu Auth0, die dir hilft, innerhalb von Minuten die Anmeldung und Benutzeridentität zu erstellen. Es eignet sich besonders gut zum Schutz von API-Diensten, die mit Encore erstellt wurden.
Dieser Leitfaden zeigt dir, wie du Logto in deine Encore-Anwendung integrieren kannst, um eine sichere Benutzer-Authentifizierung zu implementieren und deine API-Endpunkte zu schützen.
Logto-Einstellungen
Bevor wir mit der Integration in Encore beginnen, musst du einige Dinge in Logto einrichten:
-
Erstelle ein Konto bei Logto Cloud, wenn du noch keines hast.
-
Erstelle eine API-Ressource in der Logto-Konsole, die deinen Encore-API-Dienst repräsentiert
- Gehe zu "API Resources" in der Logto-Konsole und erstelle eine neue API
- Setze einen Namen und einen API-Identifikator (z.B.
https://api.encoreapp.com
) - Notiere den API-Identifikator auf der Seite mit den API-Ressourcendetails, da wir ihn später benötigen werden
- Erstelle eine Anwendung für deine Frontend-Anwendung
- Gehe zu "Applications" in der Logto-Konsole
- Erstelle eine neue Anwendung gemäß deinem Frontend-Framework (Wir verwenden React als Beispiel, aber du kannst jede Single-Page Application (SPA) oder native App erstellen)
- (Optional, wir werden das später behandeln) Integriere Logto mit deiner Frontend-Anwendung gemäß der Anleitung in der Logto-Konsole.
- Notiere die Anwendungs-ID und die Aussteller-URL auf der Anwendungsdetailseite, da wir sie später benötigen werden
Richte den Auth-Handler für deinen Encore-API-Dienst ein
Nun lass uns die Authentifizierung in deiner Encore-Anwendung implementieren. Wir werden Encores integrierten auth handler verwenden, um Logtos JWT-Tokens zu validieren.
Füge diese beiden Module in deiner Encore-Anwendung hinzu:
Erstelle auth/auth.go
und füge den folgenden Code hinzu:
Und dann kannst du diesen Auth-Handler verwenden, um deine API-Endpunkte zu schützen:
Frontend
Wir haben unsere Arbeit im Encore-API-Dienst abgeschlossen. Nun müssen wir Logto in unsere Frontend-Anwendung integrieren.
Du kannst das Framework, das du verwendest, auf der Logto Quick start-Seite auswählen, um Logto mit deiner Frontend-Anwendung zu integrieren. In diesem Leitfaden verwenden wir React als Beispiel.
Schau dir den Füge Authentifizierung zu deiner React-Anwendung hinzu-Leitfaden an, um zu lernen, wie Logto mit deiner React-Anwendung integriert wird. In diesem Beispiel musst du nur den Abschnitt über die Integration abschließen. Danach werden wir demonstrieren, wie die Frontend-Anwendung ein Zugriffstoken von Logto erhalten kann, um auf die Encore-API zuzugreifen.
Zuerst aktualisiere dein LogtoConfig
, indem du die in deiner Encore-App verwendete API-Ressource dem resources
-Feld hinzufügst. Dies teilt Logto mit, dass wir Zugriffstokens für diese API-Ressource (Encore-API) anfordern werden.
Nach der Aktualisierung des LogtoConfig
müssen sich Benutzer, die bereits angemeldet sind, abmelden und erneut anmelden, damit die neuen LogtoConfig
-Einstellungen wirksam werden.
Sobald der Benutzer angemeldet ist, kannst du die getAccessToken
-Methode des Logto React SDK verwenden, um ein Zugriffstoken für den Zugriff auf spezifische API-Ressourcen zu erhalten. Zum Beispiel, um auf die Encore-API zuzugreifen, verwenden wir https://api.encoreapp.com
als API-Ressourcen-Identifikator.
Dann füge dieses Zugriffstoken den Anfrage-Headern als Authorization
-Feld in nachfolgenden Anfragen hinzu.
Das war's, du hast Logto erfolgreich in deine Encore-Anwendung integriert.
Entdecke mehr
Wenn du mehr Logto-Funktionen in Encore verwenden möchtest, kannst du die folgenden Links für weitere Informationen nutzen:
- Kombiniere Logtos Benutzerdefinierte Token-Ansprüche, um benutzerdefinierte Benutzerdaten im Auth-Handler festzulegen
- Verwende Logto RBAC-Funktionen, um Autorisierungsunterstützung zu deinem Encore-API-Dienst hinzuzufügen. Das React-Integrations-Tutorial zeigt auch, wie du
scope
-Informationen zu deinem Zugriffstoken hinzufügst (beachte, dass du dich nach der Aktualisierung der Logto-Konfiguration erneut anmelden musst) - Baue deine Multi-Tenant-Anwendung mit dem Encore-API-Dienst unter Verwendung von Organisationstokens, siehe Baue eine Multi-Tenant SaaS-Anwendung mit Logto