Bygg SvelteKit-autentisering med Logto
Lär dig hur du bygger ett användarautentiseringsflöde med SvelteKit genom att integrera Logto SDK.
Kom igång
Introduktion
- Logto är ett öppen källkods alternativ till Auth0 för att bygga identitetsinfrastrukturer. Det stöder olika inloggningsmetoder, inklusive användarnamn, e-post, telefonnummer och populära sociala inloggningar som Google och GitHub.
- SvelteKit är ett ramverk för att snabbt utveckla robusta, presterande webbapplikationer med Svelte.
I denna handledning visar vi dig hur du bygger ett användarautentiseringsflöde med SvelteKit genom att integrera Logto SDK. Handledningen använder TypeScript som programmeringsspråk.
Förutsättningar
Innan du börjar, se till att du har följande:
- Ett Logto-konto. Om du inte har ett kan du registrera dig gratis.
- A SvelteKit utvecklingsmiljö och ett projekt.
Skapa en Logto-applikation
För att komma igång, skapa en Logto-applikation med typen "Traditionell webb". Följ dessa steg för att skapa en Logto-applikation:
- Logga in på Logto Console.
- I den vänstra navigeringsbaren, klicka på Applikationer.
- Klicka på Skapa applikation.
- På den öppnade sidan, hitta sektionen "Traditionell webb" och lokalisera kortet "SvelteKit".
- Klicka på Börja bygga och ange namnet på din applikation.
- Klicka på Skapa.
Då bör du se en interaktiv guide som leder dig genom processen att integrera Logto SDK med din SvelteKit applikation. Följande innehåll kan vara en referens för framtida bruk.
Integrera med Logto SDK
Installation
Installera Logto SDK via din favoritpakethanterare:
Lägg till Logto-hook
I din hooks.server.ts
-fil, lägg till följande kod för att injicera Logto-hook i din server:
Eftersom denna information är känslig, rekommenderas det att använda miljövariabler:
Om du har flera hooks, kan du använda hjälpfunktionen sequence() för att kedja dem:
Nu kan du komma åt Logto-klienten i locals
-objektet. För TypeScript kan du lägga till typen till app.d.ts
:
Vi kommer att diskutera user
-objektet senare.
Implementera inloggning och utloggning
Konfigurera omdirigerings-URI:er
Byt till applikationsdetaljsidan i Logto Console. Lägg till en omdirigerings-URI http://localhost:3000/callback
.
Omdirigerings-URI är ett OAuth 2.0-koncept som innebär platsen ska omdirigeras efter autentisering.
På samma sätt, lägg till http://localhost:3000/
i sektionen "Omdirigering efter utloggning".
Omdirigering efter utloggning är ett OAuth 2.0-koncept som innebär platsen ska omdirigeras efter utloggning.
Klicka sedan på "Spara" för att spara ändringarna.
Tillbaka till din app, på sidan där du vill implementera inloggning och utloggning, definiera följande åtgärder:
Använd sedan dessa åtgärder i din Svelte-komponent:
Visa användarinformation
För att visa användarens information kan du injicera locals.user
-objektet i layouten och därmed göra det tillgängligt för alla sidor:
I din Svelte-komponent:
Kontrollpunkt: Kör applikationen
Nu kan du köra applikationen och försöka logga in/ut med Logto:
- Öppna applikationen i din webbläsare, du borde se knappen "Logga in".
- Klicka på knappen "Logga in", och du borde omdirigeras till Logtos inloggningssida.
- Efter att du har loggat in, borde du omdirigeras tillbaka till applikationen, och du borde se användardata och knappen "Logga ut".
- Klicka på knappen "Logga ut", och du borde omdirigeras till Logtos utloggningssida, och sedan omdirigeras tillbaka till applikationen med ett utloggat tillstånd.
Om du stöter på några problem under integrationen, tveka inte att gå med i vår Discord-server för att chatta med communityn och Logto-teamet!