Skip to main content
Les limites de durée de session déterminent combien de temps le système doit conserver une session de connexion. Dans Auth0, deux paramètres peuvent être configurés pour la durée de session :
  • Idle Session Lifetime : Période après laquelle la session d’un utilisateur expire si son n’a pas interagi avec l’. Cette durée sera remplacée par les limites du système si elle dépasse 3 jours pour les forfaits libre-service ou 100 jours pour les forfaits Enterprise.
  • Maximum Session Lifetime : Période après laquelle un utilisateur devra se connecter de nouveau, peu importe son activité. Cette durée sera remplacée par les limites du système si elle dépasse 30 jours pour les forfaits libre-service ou 365 jours pour les forfaits Enterprise.
Ces paramètres sont configurés au niveau du tenant; vous pouvez les configurer à l’aide de l’Auth0 Dashboard ou de l’. Lorsqu’un utilisateur effectue une nouvelle connexion standard, cela réinitialise la session de connexion. Voici un exemple :
  1. Vous définissez la limite Idle Session Lifetime à 3 jours et la limite Require log in after à 30 jours.
  2. Un utilisateur se connecte et les valeurs que vous avez saisies sont appliquées à sa session.
    1. Si l’utilisateur est actif pendant la période de trois jours de Idle Session Lifetime, la durée de la session est prolongée de trois jours supplémentaires. Tant que l’utilisateur reste actif au cours des trois jours suivants, la durée de sa session sera de nouveau prolongée de trois jours, jusqu’à ce que la limite Maximum Session Lifetime soit atteinte. À ce moment-là, l’utilisateur devra se connecter de nouveau.
    2. Si l’utilisateur demeure inactif pendant trois jours, il sera automatiquement déconnecté.
  3. Pendant que l’utilisateur est connecté, vous prolongez les limites de durée de session existantes. Les nouveaux paramètres n’entreront en vigueur qu’à la fin de la session en cours et lorsque l’utilisateur se reconnectera.
  4. Pendant que l’utilisateur est connecté, vous réduisez les limites de durée existantes. Les nouveaux paramètres prendront effet immédiatement à la prochaine activité de l’utilisateur. Cela vous permet de raccourcir la durée des sessions pour des raisons de sécurité.

URL de déconnexion propres à l’application

Il y a deux éléments importants à considérer lorsque vous utilisez des URL de déconnexion propres à l’application :
  • Vous devez envoyer client_id comme paramètre de requête lorsque vous appelez le point de terminaison /oidc/logout, et l’URL id_token_hint doit figurer dans la liste des URL de déconnexion autorisées de l’application.
  • Cela met fin à la session Auth0 pour l’ensemble du tenant, c.-à-d. pour toutes les applications définies, et pas seulement celle qui correspond au client_id fourni. La transmission du client_id indique au point de terminaison /logout où trouver la liste blanche des URL de déconnexion.
Une fois l’utilisateur déconnecté, Auth0 redirigera uniquement vers une URL définie dans cette liste. Si vous redirigez l’utilisateur vers l’application après la déconnexion et que l’application le redirige vers un qui a encore une session authentifiée pour cet utilisateur, l’utilisateur sera reconnecté silencieusement à votre application, et il pourrait sembler que la déconnexion n’a pas fonctionné. Dans ce cas, nous vous recommandons d’avoir dans votre application une page de déconnexion dédiée afin d’indiquer à l’utilisateur que la déconnexion a bien réussi et, au besoin, de l’avertir qu’il est peut-être encore connecté à son fournisseur d’identité. Si un utilisateur n’a effectué aucune action entraînant une mise à jour de la session Auth0, nous vous recommandons de l’avertir et de lui demander de choisir explicitement de poursuivre sa session. Cette approche permet à la session de devenir inactive si l’utilisateur n’est plus présent, tout en offrant autrement un moyen de déclencher l’actualisation silencieuse du jeton afin qu’il puisse poursuivre sa session sans avoir à fournir de nouveau ses identifiants.
  • Minuterie d’inactivité : Ajoutez une minuterie glissante à l’enveloppe du SDK React qui s’aligne sur la durée maximale d’inactivité de la session Auth0. Chaque fois qu’un jeton est renvoyé à l’application, réinitialisez la minuterie.
  • Fenêtre modale d’expiration : Lorsque la minuterie atteint 60 secondes avant l’expiration, une fenêtre modale d’expiration doit s’afficher pour demander à l’utilisateur de se déconnecter ou de poursuivre sa session.
    • Poursuivre la session : Si l’utilisateur choisit de poursuivre sa session, utilisez la méthode getTokenSilently() pour demander un nouveau jeton sans rediriger l’utilisateur hors de la page avec laquelle il interagit actuellement.
    • Déconnexion : Si l’utilisateur choisit de se déconnecter, la méthode logout() doit être appelée pour garantir qu’il soit aussi mis fin à la session Auth0.
    • Délai d’inactivité : Si le délai d’inactivité est atteint, aucune action immédiate n’est nécessaire. Pour tenir compte du fait que l’utilisateur peut encore être actif dans un autre onglet, le comportement ne doit pas consister à déconnecter l’utilisateur.
    • D’autres options consistent notamment à mettre à jour la fenêtre modale avec un bouton de connexion, à utiliser l’événement window.onfocus pour déclencher getTokenSilently(), ou à rediriger l’utilisateur vers une page de destination.

En savoir plus