Skip to main content

Avant de commencer

Assurez-vous d’avoir :
  • Un Custom Domain configuré pour votre application dans votre tenant Auth0
  • Auth0 CLI installé et authentifié.
  • Une Action post-login
  • Une session de tenant Auth0 utilisant la politique de sessions non persistantes
  • (Facultatif) Configurer les valeurs de délai d’inactivité et de délai d’expiration absolu de la session
L’expérience Keep Me Signed In permet aux utilisateurs de choisir de rester connectés sur un appareil de confiance.
Image de connexion
  • Si la case Keep Me Signed In est cochée, une session persistante est créée et reste active même après la fermeture et la réouverture du navigateur.
  • Si la case Keep Me Signed In 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écuritaire sans exposer de jetons de rafraîchissement au frontend. En utilisant des invites personnalisées, Auth0 CLI et des sessions éphémères via Actions, vous pouvez mettre en œuvre un flux « Keep Me Signed In » moderne et sécuritaire, sans jetons de rafraîchissement, sans contournements de session côté client et avec un contrôle complet du backend. Cette solution est idéale pour les clients qui privilégient :
  • Une gestion des sessions de navigateur de type zéro confiance
  • Une persistance minimale des sessions
  • Des exceptions pour les appareils de confiance

1. Configurer une page Universal Login et ajouter une invite personnalisée

Pour recueillir la préférence Keep Me Signed In 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 n’est requise que si aucun modèle Universal Login n’est configuré dans votre tenant.
Utilisez la commande suivante pour créer ou mettre à jour le modèle de page :
L’éditeur de personnalisation ouvre le modèle de la page de connexion. Vous pouvez utiliser n’importe quelle structure HTML qui convient à votre image de marque. Voici un exemple minimal de modèle avec un arrière-plan et un widget intégré dans un conteneur :
Enregistrez et fermez l’éditeur; l’Auth0 CLI vous demandera de confirmer :

2. Ajouter une case à cocher Keep Me Signed In à l’aide d’Auth0 CLI

Pour ajouter une case à cocher dans l’écran Universal Login, suivez ces étapes :

Ouvrez l’éditeur de personnalisation

  1. Ouvrez l’éditeur de personnalisation pour login-id ou l’écran de connexion, selon la configuration de votre tenant :
  1. Sélectionnez standard comme mode de rendu
L’éditeur de personnalisation s’ouvre à l’adresse locale suivante :
Si vous ne savez pas si votre tenant utilise login ou login-id, consultez la personnalisation des écrans d’invite d’Auth0.

Configurer la case à cocher

Ouvrez l’option Partials dans l’éditeur de personnalisation :
  1. Réglez Prompt sur : login-id (ou login)
  2. Réglez Screen sur : login-id (ou login)
  3. Réglez Partial sur : form-content-end
Partials Auth0 CLI
Ajoutez l’extrait de code HTML suivant :
Cela affiche la case à cocher sous le formulaire de connexion.

Déployez vos modifications

Sélectionnez Deploy Changes en haut à droite pour enregistrer et appliquer la personnalisation.

Checkpoint

Connectez-vous avec Universal Login. L’écran de connexion comporte une case à cocher Keep Me Signed In.
Image de connexion

3. Créer une action post-login avec Auth0 CLI

Créez un nouveau fichier nommé set-session-persistence.js pour l’utiliser avec Auth0 CLI, puis ajoutez le code suivant :
Cette Action permet d’enregistrer le cookie de session même après le redémarrage du navigateur lorsque l’utilisateur coche la case. Pour prolonger également la durée de vie de la session pour les appareils de confiance, consultez Définir la durée de la 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 :
Auth0 CLI renvoie l’ID de l’Action :
Déployez votre Action à l’aide de son id :
Accédez à Auth0 Dashboard > Actions > Triggers > Post-Login pour ajouter la nouvelle action au flux en cours, puis sélectionnez Appliquer.
Dashboard Actions Triggers Post Login

Définir la durée de la session pour les appareils de confiance

setCookieMode() contrôle uniquement la façon dont le cookie de session est transmis au navigateur. Un cookie persistant reste en place après le redémarrage du navigateur, tandis qu’un cookie non persistant (de session) est supprimé à la fermeture du navigateur. Cela ne modifie pas l’expiration de la session côté serveur. Si vous voulez que les appareils de confiance aient une session plus longue, vous devez définir explicitement l’expiration à l’aide de api.session.setExpiresAt() ou de api.session.setIdleExpiresAt().
Pour accorder une session plus longue aux appareils de confiance, utilisez api.session.setExpiresAt() ou api.session.setIdleExpiresAt() avec setCookieMode() :

4. Tester la mise en œuvre

Pour vérifier le comportement de la session, vous pouvez : Connectez-vous au moyen de Universal Login et cochez la case Keep Me Signed In.
  • Dans les logs du tenant, recherchez (types d’événements s ou ssa)
    • cookie: { mode: "non-persistent" }
    • cookie: { mode: "persistent" }
  • Recherchez event.session.cookie.mode dans vos Actions