Skip to main content

Avant de commencer

Assurez-vous d’avoir :
  • Un locataire Auth0 avec un domaine personnalisé configuré pour votre application
  • Auth0 CLI installé et authentifié.
  • Une Action post-login
  • 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.
Image de connexion
  • 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
  • Une persistance minimale des sessions
  • Des dérogations pour les appareils de confiance

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 :
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 :
Enregistrez et fermez l’éditeur, puis la CLI Auth0 vous demande de confirmer :

2. Ajouter une case à cocher « Rester connecté » avec 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 l’invite login-id ou login, selon la configuration de votre locataire :
  1. Sélectionnez le mode de rendu standard
L’éditeur de personnalisation s’ouvre à une adresse locale :
Si vous ne savez pas si votre locataire utilise login ou login-id, consultez la documentation d’Auth0 sur la personnalisation de l’invite.

Configurer la case à cocher

Ouvrez l’option Partials dans l’éditeur de personnalisation :
  1. Définissez Prompt sur : login-id (ou login)
  2. Définissez Screen sur : login-id (ou login)
  3. Définissez Partial sur : form-content-end
Partials dans 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 Déployer les modifications dans le coin supérieur droit pour enregistrer et appliquer la personnalisation.

Point de contrôle

Connectez-vous au moyen de Universal Login. L’écran de connexion comprend une case à cocher Rester connecté.
Image de connexion

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 :
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 :
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 Apply.
Dashboard Actions Triggers Post Login

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() :

4. Tester l’implémentation

Pour vérifier le comportement de la session, vous pouvez : Connectez-vous avec Universal Login, puis cochez la case Rester connecté.
  • Dans les journaux du locataire, recherchez les types d’événements s ou ssa
    • cookie: { mode: "non-persistent" }
    • cookie: { mode: "persistent" }
  • Recherchez event.session.cookie.mode dans vos Actions