Nederlands
  • encore
  • api beschermen
  • api auth

Hoe Logto te gebruiken voor je Encore-toepassing

Leer hoe je Logto kunt gebruiken voor gebruikersauthenticatie in je Encore-backendapplicatie. In deze handleiding laten we je zien hoe je je Go-backend kunt integreren met Logto.

Yijun
Yijun
Developer

Stop met weken verspillen aan gebruikersauthenticatie
Lanceer veilige apps sneller met Logto. Integreer gebruikersauthenticatie in minuten en focus op je kernproduct.
Aan de slag
Product screenshot

Encore is een platform voor backend-ontwikkeling dat het gemakkelijk maakt om productieklare API's en microservices te bouwen.

Logto is een moderne Auth0-alternatief die je helpt om binnen enkele minuten de inlogervaring en gebruikersidentiteit op te bouwen. Het is bijzonder geschikt voor het beschermen van API-diensten die met Encore zijn gebouwd.

Deze handleiding laat je zien hoe je Logto kunt integreren met je Encore-toepassing om veilige gebruikersauthenticatie te implementeren en je API-eindpunten te beschermen.

Logto-instellingen

Voordat we beginnen met het integreren met Encore, moet je een paar dingen instellen in Logto:

  1. Maak een account aan op Logto Cloud als je er nog geen hebt.

  2. Maak een API-bron aan in Logto Console, dit vertegenwoordigt je Encore API-dienst

    • Ga naar "API-bronnen" in Logto Console en maak een nieuwe API aan
    • Geef een naam en API-identifier op (bijv. https://api.encoreapp.com)
    • Noteer de API-identifier op de API-brondetailpagina, want die hebben we later nodig

Logto API-bron

  1. Maak een toepassing voor je frontendapplicatie aan
  • Ga naar "Toepassingen" in Logto Console
  • Maak een nieuwe toepassing aan volgens je frontendframework (We gebruiken React als voorbeeld, maar je kunt elke Single-Page Application (SPA) of native app maken)
  • (Optioneel, we zullen hier later op ingaan) Integreer Logto met je frontendapplicatie volgens de handleiding in de Logto Console.
  • Noteer de applicatie-ID en de issuer-URL op de Toepassing detailpagina, want die hebben we later nodig

Logto toepassingsendpunten

Auth-handler instellen voor je Encore API-dienst

Laten we nu de authenticatie in je Encore-toepassing implementeren. We gebruiken Encore's ingebouwde auth-handler om Logto's JWT-tokens te valideren.

Voeg deze twee modules toe in je Encore-toepassing:

Maak auth/auth.go en voeg de volgende code toe:

En dan kun je deze auth-handler gebruiken om je API-eindpunten te beschermen:

Frontend

We hebben ons werk in de Encore API-dienst afgerond. Nu moeten we Logto integreren met onze frontendapplicatie.

Je kunt het framework kiezen dat je gebruikt op de Logto Snelle Start pagina om Logto te integreren met je frontendapplicatie. In deze handleiding gebruiken we React als voorbeeld.

Bekijk de Authenticatie toevoegen aan je React-toepassing gids om te leren hoe je Logto integreert met je React-toepassing. In dit voorbeeld hoef je slechts tot de Integratie-sectie te voltooien. Daarna demonstreren we hoe de frontendapplicatie een toegangstoken van Logto kan verkrijgen om toegang te krijgen tot de Encore API.

Werk eerst je LogtoConfig bij door de API-bron die in je Encore-app wordt gebruikt toe te voegen aan het resources veld. Dit vertelt Logto dat we toegangstokens zullen aanvragen voor deze API-bron (Encore API).

Na het bijwerken van de LogtoConfig, als een gebruiker al is ingelogd, moet hij zich afmelden en opnieuw inloggen om de nieuwe LogtoConfig-instellingen te laten gelden.

Zodra de gebruiker is ingelogd, kun je de getAccessToken methode gebruiken die wordt geleverd door de Logto React SDK om een toegangstoken te verkrijgen voor toegang tot specifieke API-bronnen. Om bijvoorbeeld toegang te krijgen tot de Encore API, gebruiken we https://api.encoreapp.com als de API-bronindicator.

Voeg dit toegangstoken vervolgens toe aan de aanvraagheaders als het Authorization veld in de volgende aanvragen.

Dat is het, je hebt Logto succesvol geïntegreerd met je Encore-toepassing.

Meer verkennen

Als je meer Logto-functies in Encore wilt gebruiken, kun je de volgende links raadplegen voor meer informatie: