Une session Auth0 utilisant la stratégie de sessions non persistantes
(Facultatif) Configurez les valeurs du délai d’inactivité et du délai d’expiration absolu de la session
L’expérience Rester connecté permet aux utilisateurs de choisir de rester connectés sur un appareil de confiance.
Si la case Rester connecté est cochée, une session persistante est créée et persiste même après le redémarrage du navigateur.
Si la case Rester connecté n’est pas cochée, une session non persistante est créée et expire à la fermeture du navigateur.
En utilisant des sessions non persistantes (éphémères) avec Actions, le serveur gère cette logique de façon sécurisée sans exposer de jetons d’actualisation au frontend.À l’aide des invites personnalisées, d’Auth0 CLI et de sessions éphémères via Actions, vous pouvez mettre en œuvre un flux « Rester connecté » sécurisé et moderne, sans jetons d’actualisation, sans contournements de session côté client et avec un contrôle complet du backend.Cette solution est idéale pour les clients qui accordent la priorité à :
Une gestion des sessions de navigateur de type Zero Trust
1. Configurer une page Universal Login et ajouter une invite personnalisée
Pour recueillir la préférence Rester connecté de l’utilisateur, vous devez personnaliser Universal Login en configurant un modèle de page et en ajoutant une invite personnalisée à l’aide d’Auth0 CLI.
Facultatif : activer le modèle de page Universal Login
Cette étape est requise uniquement si aucun modèle Universal Login n’est configuré pour votre locataire.
Utilisez la commande suivante pour créer ou mettre à jour le modèle de page :
auth0 universal-login templates update
L’éditeur de personnalisation ouvre le modèle de la page de connexion. Vous pouvez utiliser n’importe quelle structure HTML adaptée à votre image de marque.Voici un exemple minimal de modèle avec un arrière-plan et un widget dans un conteneur :
3. Créez une Action Post-Login à l’aide de l’interface de ligne de commande Auth0
Créez un fichier nommé set-session-persistence.js à utiliser avec l’interface de ligne de commande Auth0, puis ajoutez le code suivant :
exports.onExecutePostLogin = async (event, api) => { // Appliquer le changement uniquement lorsque le paramètre est disponible if (event.request.body['ulp-remember-me']) { api.session.setCookieMode('persistent'); }};
Cette Action fait en sorte que le témoin de session soit conservé après le redémarrage du navigateur lorsque l’utilisateur coche la case. Pour prolonger également la durée de vie de la session sur les appareils de confiance, consultez Définir la durée de session pour les appareils de confiance ci-dessous.Utilisez Auth0 CLI pour créer ou mettre à jour votre Action post-login à l’aide du fichier set-session-persistence.js :
Définir la durée de session pour les appareils de confiance
setCookieMode() contrôle uniquement la façon dont le témoin de session est transmis au navigateur. Un témoin persistant survit aux redémarrages du navigateur, tandis qu’un témoin non persistant (de session) est supprimé à la fermeture du navigateur. Cela ne modifie pas la date d’expiration de la session côté serveur. Si vous voulez que les appareils de confiance aient une durée de session plus longue, vous devez définir explicitement l’expiration à l’aide de api.session.setExpiresAt() ou api.session.setIdleExpiresAt().
Pour accorder aux appareils de confiance une durée de session plus longue, utilisez api.session.setExpiresAt() ou api.session.setIdleExpiresAt() en plus de setCookieMode() :