Costruisci l'autenticazione ASP.NET Core con Logto
Impara a costruire un flusso di autenticazione utente con ASP.NET Core integrando l'SDK Logto.
Impara a costruire un flusso di autenticazione utente con ASP.NET Core integrando l'SDK Logto.
In questo tutorial, ti mostreremo come costruire un flusso di autenticazione utente con ASP.NET Core integrando l'SDK Logto. Il tutorial utilizza C# come linguaggio di programmazione.
Prima di iniziare, assicurati di avere quanto segue:
Per iniziare, crea un'applicazione Logto con il tipo "Web tradizionale". Segui questi passaggi per creare un'applicazione Logto:
Quindi dovresti vedere un tutorial interattivo che ti guida nel processo di integrazione dell'SDK Logto con la tua applicazione ASP.NET Core. Il contenuto seguente può essere un riferimento per un uso futuro.
Nota che la versione minima supportata di ASP.NET Core è 6.0.
Apri Startup.cs (o Program.cs) e aggiungi il seguente codice per registrare il middleware di autenticazione Logto:
Il metodo AddLogtoAuthentication farà le seguenti cose:
LogtoDefaults.CookieScheme.LogtoDefaults.AuthenticationScheme.LogtoDefaults.AuthenticationScheme.Aggiungi il seguente URI alla lista Redirect URIs nella pagina dei dettagli dell'applicazione Logto:
Per accedere con Logto, puoi usare il metodo ChallengeAsync:
Il metodo ChallengeAsync reindirizzerà l'utente alla pagina di accesso di Logto.
La proprietà RedirectUri viene utilizzata per reindirizzare l'utente alla tua applicazione web dopo l'autenticazione. Nota che è diverso dall'URI di reindirizzamento che hai configurato nella pagina dei dettagli dell'applicazione Logto:
RedirectUri è l'URI che verrà reindirizzato dopo che sono state prese le azioni necessarie nel middleware di autenticazione Logto.L'ordine delle azioni è 1 -> 2. Per chiarezza, chiamiamo l'URI di reindirizzamento nella pagina dei dettagli dell'applicazione Logto l'URI di reindirizzamento Logto e la proprietà RedirectUri l'URI di reindirizzamento dell'applicazione.
L'URI di reindirizzamento Logto ha un valore predefinito di /Callback, che puoi lasciare tale quale se non ci sono requisiti speciali. Se vuoi cambiarlo, puoi impostare la proprietà CallbackPath per LogtoOptions:
Ricorda di aggiornare il valore nella pagina dei dettagli dell'applicazione Logto di conseguenza.
Aggiungi il seguente URI alla lista Post sign-out redirect URIs nella pagina dei dettagli dell'applicazione Logto:
Per disconnettersi con Logto, puoi usare il metodo SignOutAsync:
Il metodo SignOutAsync cancellerà il cookie di autenticazione e reindirizzerà l'utente alla pagina di disconnessione di Logto.
La proprietà RedirectUri viene utilizzata per reindirizzare l'utente alla tua applicazione web dopo la disconnessione. Nota che è diverso dall'URI di reindirizzamento post disconnessione che hai configurato nella pagina dei dettagli dell'applicazione Logto:
RedirectUri è l'URI che verrà reindirizzato dopo che sono state prese le azioni necessarie nel middleware di autenticazione Logto.L'ordine delle azioni è 1 -> 2. Per chiarezza, chiamiamo l'URI di reindirizzamento post disconnessione nella pagina dei dettagli dell'applicazione Logto l'URI di reindirizzamento post disconnessione Logto e la proprietà RedirectUri l'URI di reindirizzamento post disconnessione dell'applicazione.
L'URI di reindirizzamento post disconnessione Logto ha un valore predefinito di /RitornoDopoDisconnessione, che puoi lasciare tale quale se non ci sono requisiti speciali. Se vuoi cambiarlo, puoi impostare la proprietà SignedOutCallbackPath per LogtoOptions:
Ricorda di aggiornare il valore nella pagina dei dettagli dell'applicazione Logto di conseguenza.
Per prima cosa, aggiungi i metodi gestore al tuo PageModel, ad esempio:
Poi, aggiungi i pulsanti alla tua pagina Razor (html):
<p>Autenticato: @User.Identity?.IsAuthenticated</p>
<form method="post">
@if (User.Identity?.IsAuthenticated == true)
{
<button type="submit" asp-page-handler="SignOut">Disconnetti</button>
} else {
<button type="submit" asp-page-handler="SignIn">Accedi</button>
}
</form>
Mostrerà il pulsante "Accedi" se l'utente non è autenticato, e mostrerà il pulsante "Disconnetti" se l'utente è autenticato.
Ora puoi eseguire l'applicazione web e provare ad accedere/disconnettersi con Logto:
Se incontri problemi durante l'integrazione, non esitare a contattarci via email a [email protected] o unisciti al nostro server Discord!