Bouw ASP.NET Core-authenticatie met Logto
Leer hoe je een gebruikersauthenticatiestroom opzet met ASP.NET Core door de Logto SDK te integreren.
Leer hoe je een gebruikersauthenticatiestroom opzet met ASP.NET Core door de Logto SDK te integreren.
In deze handleiding laten we je zien hoe je een gebruikersauthenticatiestroom opzet met ASP.NET Core door de Logto SDK te integreren. De handleiding gebruikt C# als programmeertaal.
Voordat je begint, zorg ervoor dat je het volgende hebt:
Om te beginnen, maak een Logto applicatie aan met het type "Traditionele webapp". Volg deze stappen om een Logto applicatie aan te maken:
Vervolgens zou je een interactieve tutorial moeten zien die je door het proces van het integreren van de Logto SDK met je ASP.NET Core-applicatie begeleidt. De volgende inhoud kan als referentie voor toekomstig gebruik dienen.
Let op, de minimaal ondersteunde versie van ASP.NET Core is 6.0.
Open Startup.cs (of Program.cs) en voeg de volgende code toe om Logto authenticatiemiddleware te registreren:
De AddLogtoAuthentication-methode zal het volgende doen:
LogtoDefaults.CookieScheme.LogtoDefaults.AuthenticationScheme.LogtoDefaults.AuthenticationScheme.Voeg de volgende URI toe aan de lijst Redirect URIs op de Logto applicatie details pagina:
Om aan te melden met Logto, kun je de ChallengeAsync-methode gebruiken:
De ChallengeAsync-methode zal de gebruiker naar de Logto aanmeldpagina leiden.
De RedirectUri-eigenschap wordt gebruikt om de gebruiker terug naar je webapplicatie te leiden na authenticatie. Let op, het is verschillend van de redirect URI die je geconfigureerd hebt op de Logto applicatie details pagina:
RedirectUri-eigenschap is de URI waar naar teruggeleid wordt nadat de benodigde acties in de Logto authenticatiemiddleware zijn uitgevoerd.De volgorde van de acties is 1 -> 2. Voor de duidelijkheid noemen we de redirect URI op de Logto applicatie details pagina de Logto redirect URI en de RedirectUri-eigenschap de applicatie redirect URI.
De Logto redirect URI heeft een standaardwaarde van /Callback, die je kunt laten zoals die is als er geen speciale vereiste is. Als je het wilt wijzigen, kun je de CallbackPath-eigenschap voor LogtoOptions instellen:
Denk eraan de waarde op de Logto applicatie details pagina dienovereenkomstig bij te werken.
Voeg de volgende URI toe aan de lijst Post sign-out redirect URIs op de Logto applicatie details pagina:
Om af te melden met Logto, kun je de SignOutAsync-methode gebruiken:
De SignOutAsync-methode zal de authenticatiecookie wissen en de gebruiker naar de Logto afmeldpagina leiden.
De RedirectUri-eigenschap wordt gebruikt om de gebruiker terug naar je webapplicatie te leiden na afmelding. Let op, het is verschillend van de post sign-out redirect URI die je hebt geconfigureerd op de Logto applicatie details pagina:
RedirectUri-eigenschap is de URI waar naar teruggeleid wordt nadat de benodigde acties in de Logto authenticatiemiddleware zijn uitgevoerd.De volgorde van de acties is 1 -> 2. Voor de duidelijkheid noemen we de post sign-out redirect URI op de Logto applicatie details pagina de Logto post sign-out redirect URI en de RedirectUri-eigenschap de applicatie post sign-out redirect URI.
De Logto post sign-out redirect URI heeft een standaardwaarde van /SignedOutCallback, die je kunt laten zoals die is als er geen speciale vereiste is. Als je het wilt wijzigen, kun je de SignedOutCallbackPath-eigenschap voor LogtoOptions instellen:
Denk eraan de waarde op de Logto applicatie details pagina dienovereenkomstig bij te werken.
Voeg eerst de handler-methodes toe aan je PageModel, bijvoorbeeld:
Voeg vervolgens de knoppen toe aan je Razor-pagina (html):
<p>Is authenticated: @User.Identity?.IsAuthenticated</p>
<form method="post">
@if (User.Identity?.IsAuthenticated == true)
{
<button type="submit" asp-page-handler="SignOut">Log uit</button>
} else {
<button type="submit" asp-page-handler="SignIn">Log in</button>
}
</form>
Het toont de knop "Log in" als de gebruiker niet is geauthenticeerd, en toont de knop "Log uit" als de gebruiker is geauthenticeerd.
Nu kun je de webapplicatie uitvoeren en proberen aan te melden/af te melden met Logto:
Als je problemen ondervindt tijdens de integratie, aarzel dan niet om contact met ons op te nemen via e-mail op [email protected] of word lid van onze Discord-server!