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.
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 |
|---|---|
Pathname | Chemin relatif courant au moment de la déconnexion. |
ReturnUrl | URL 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.
{
"App": {
"PostLogoutUri": "identity/account/login",
"PostLogoutMode": "Navigation"
}
}
PostLogoutMode accepte les valeurs suivantes :
| Valeur | Comportement |
|---|---|
Navigation | Navigue vers PostLogoutUri après la déconnexion. |
XHR | Appelle PostLogoutUri de façon asynchrone sans exploiter le résultat. |
Jetons JWT
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.
protected override void OnConfigureAuthentification(AuthenticationOptions options)
{
// Durée de vie du jeton d'accès en secondes.
options.AccessTokenLifetime = 1800;
}