Aller au contenu principal

Déconnexion

La déconnexion Lagoon supprime le jeton d'accès du stockage navigateur client et empêche son renouvellement à partir du jeton de rafraîchissement. Un jeton d'accès JWT déjà copié reste valide jusqu'à son expiration.

Redirection après déconnexion​

Côté client, surchargez OnLogout dans Main.cs pour définir la page de retour selon la page depuis laquelle l'utilisateur se déconnecte.

Main.cs
protected override void OnLogout(LogoutEventArgs e)
{
// Si l'utilisateur se déconnecte depuis la page demo/showcase, on le renvoie vers cette page.
if (e.Pathname.Contains("demo/showcase"))
{
e.ReturnUrl = e.Pathname;
}
// Si l'utilisateur se déconnecte depuis la page counter, on le renvoie vers la page de connexion.
else if (e.Pathname.Contains("counter"))
{
e.ReturnUrl = "identity/account/login";
}
else
{
// Sinon, on conserve le comportement par défaut.
e.ReturnUrl = null;
}
}

LogoutEventArgs expose :

PropriétéDescription
PathnameChemin relatif courant au moment de la déconnexion.
ReturnUrlURL de retour après déconnexion.

Redirection fixe via configuration​

Pour rediriger systématiquement vers la même cible après déconnexion, configurez PostLogoutUri dans les appsettings de l'application.

appsettings.json
{
"App": {
"PostLogoutUri": "identity/account/login",
"PostLogoutMode": "Navigation"
}
}

PostLogoutMode accepte les valeurs suivantes :

ValeurComportement
NavigationNavigue vers PostLogoutUri après la déconnexion.
XHRAppelle PostLogoutUri de façon asynchrone sans exploiter le résultat.

Jetons JWT​

Remarque

JWT est sans état : il faut stocker dans la charge utile les informations nécessaires à la validation et éviter d'interroger la base à chaque requête HTTP. La durée de validité du jeton d'accès vaut 30 minutes par défaut et peut être changée avec AccessTokenLifetime.

Main.cs
protected override void OnConfigureAuthentification(AuthenticationOptions options)
{
// Durée de vie du jeton d'accès en secondes.
options.AccessTokenLifetime = 1800;
}