Hur du använder Logto med din Encore-applikation
Lär dig hur du använder Logto för användarautentisering i din Encore-backendapplikation. I den här guiden visar vi hur du integrerar din Go-backend med Logto.
Encore är en plattform för backendutveckling som gör det enkelt att bygga produktionsklara API:er och mikrotjänster.
Logto är ett modernt alternativ till Auth0 som hjälper dig att bygga inloggningsupplevelsen och användaridentiteten på några minuter. Det är särskilt väl lämpat för att skydda API-tjänster som byggts med Encore.
Den här guiden visar hur du integrerar Logto med din Encore-applikation för att implementera säker användarautentisering och skydda dina API-endpunkter.
Logto-inställningar
Innan vi börjar integrera med Encore, måste du ställa in några saker i Logto:
-
Skapa ett konto på Logto Cloud om du inte har ett.
-
Skapa en API-resurs i Logto-konsolen, detta representerar din Encore-API-tjänst
- Gå till "API-resurser" i Logto-konsolen och skapa en ny API
- Ange ett namn och en API-identifierare (t.ex.
https://api.encoreapp.com
) - Notera API-identifieraren på detaljeringssidan för API-resursen, då vi kommer att behöva den senare
- Skapa en applikation för din frontend-applikation
- Gå till "Applikationer" i Logto-konsolen
- Skapa en ny applikation enligt ditt frontend-ramverk (Vi använder React som exempel, men du kan skapa vilken som helt Single-Page Application (SPA) eller native-app)
- (Valfritt, vi täcker detta senare) Integrera Logto med din frontend-applikation enligt guiden i Logto-konsolen.
- Notera applikations-ID och utfärdarens URL på detaljeringssidan för applikationen, då vi kommer att behöva dem senare
Ställ in auth-hanteraren för din Encore-API-tjänst
Låt oss nu implementera autentisering i din Encore-applikation. Vi kommer att använda Encores inbyggda auth-handler för att validera Logtos JWT-tokens.
Lägg till dessa två moduler i din Encore-applikation:
Skapa auth/auth.go
och lägg till följande kod:
Och sedan kan du använda denna auth-handler för att skydda dina API-endpunkter:
Frontend
Vi har slutfört vårt arbete i Encore-API-tjänsten. Nu behöver vi integrera Logto med vår frontend-applikation.
Du kan välja det ramverk du använder på Logtos snabbstartssida för att integrera Logto med din frontend-applikation. I den här guiden använder vi React som exempel.
Kolla in guiden Lägg till autentisering i din React-applikation för att lära dig hur man integrerar Logto med din React-applikation. I detta exempel behöver du bara slutföra upp till Integrationssektionen. Därefter visar vi hur frontend-applikationen kan erhålla en åtkomsttoken från Logto för att komma åt Encore-API:et.
Uppdatera först din LogtoConfig
genom att lägga till API-resursen som används i din Encore-app till resources
-fältet. Detta talar om för Logto att vi kommer att begära åtkomsttokens för denna API-resurs (Encore API).
Efter att ha uppdaterat LogtoConfig
, om en användare redan är inloggad, måste de logga ut och logga in igen för att de nya LogtoConfig
-inställningarna ska träda i kraft.
När användaren är inloggad, kan du använda getAccessToken
-metoden som tillhandahålls av Logto React SDK för att erhålla en åtkomsttoken för att komma åt specifika API-resurser. Till exempel, för att komma åt Encore-API:et, använder vi https://api.encoreapp.com
som API-resursidentifierare.
Lägg sedan till denna åtkomsttoken till förfråganshuvuden som Authorization
-fältet i efterföljande förfrågningar.
Det var allt, du har framgångsrikt integrerat Logto med din Encore-applikation.
Utforska mer
Om du vill använda fler Logto-funktioner i Encore kan du hänvisa till följande länkar för mer information:
- Kombinera Logtos Anpassade tokenanspråk för att ställa in anpassad användardata i auth-hanteraren
- Använd Logtos RBAC-funktioner för att lägga till auktoriseringsstöd i din Encore-API-tjänst. React-integrationshandledningen visar också hur du lägger till
scope
-information till din åtkomsttoken (notera att du behöver logga in igen efter att ha uppdaterat Logto-konfigurationen) - Bygg din flertenantapplikation med Encore-API-tjänst med organisationstokener, hänvisa till Bygg en flertenant SaaS-applikation med Logto