Maison > interface Web > js tutoriel > le corps du texte

Votre session a expiré !!

Susan Sarandon
Libérer: 2024-10-29 18:31:29
original
890 Les gens l'ont consulté

Your Session has Expired !!

Eh bien, aujourd'hui, nous parlons du concept « d'expiration de session », surtout lorsque vous utilisez NextAuth.js dans votre projet. Comprenez dans un langage simple et convivial, pour qu’il n’y ait pas de confusion.

Alors, tout d'abord, comprenons la signification de l'erreur « Votre session a expiré ». Il s'agit d'une erreur liée à l'

authentification, qui apparaît lorsque la session de connexion de l'utilisateur est terminée. Par exemple, vous vous êtes connecté à un site Web ou à une application, vous l'avez utilisé pendant un certain temps, puis vous l'avez quitté pendant un certain temps. À mon retour, le message est apparu à l'écran "Session expirée, veuillez vous reconnecter". Cela signifie que l'autorisation qui vous accordait précédemment l'accès à l'application a expiré et vous devrez vous vous reconnecter pour vous authentifier à nouveau. Un exemple pour comprendre : Imaginez, vous êtes dans un centre commercial et l'agent de sécurité vous a donné une

carte de visiteur
pour entrer. A partir du moment où votre carte de visiteur est valide, vous pouvez vous promener dans le centre commercial, faire du shopping, regarder des films. Mais si la carte de visiteur n'est valable qu'une heure et que vous traversez une heure, vous devrez sortir ou prendre à nouveau l'autorisation du sécurité. Exactement comme ça, la session est aussi une

autorisation temporaire

, qui peut expirer.

Comment fonctionne NextAuth ma session ? Maintenant, si nous implémentons NextAuth.js, il y a également quelques règles. Lorsqu'un utilisateur se connecte, NextAuth suit son identité à l'aide de JWT (JSON Web Tokens)

ou de
cookies de session

.

JWT

est un jeton envoyé après avoir codé les informations d'identification de l'utilisateur, et est envoyé à chaque demande pour vérifier si l'utilisateur est valide ou non. Les Cookies de session sont stockés dans le navigateur, grâce auxquels le backend sait quel utilisateur est actuellement connecté. Mais, ils ont un délai d'expiration

, que vous pouvez définir via la
    configuration
  • . Comme : Ici, maxAge signifie que la session ne restera active que pendant 30 minutes. Si l'utilisateur effectue une action (comme l'actualisation de la page ou toute autre demande) après 30 minutes, la session expirera et l'utilisateur devra se reconnecter.
  • Méthode pour éviter l'expiration de la session
    Actualisation silencieuse :

    Vous pouvez implémenter un

    jeton d'actualisation
    , qui actualise silencieusement la session en arrière-plan, afin que l'utilisateur n'ait pas à se connecter manuellement à chaque fois.
  1. Par exemple, dans NextAuth, vous pouvez effectuer une interrogation de session afin que la session s'actualise automatiquement :

Rester connecté : Certaines applications offrent à l'utilisateur la possibilité de "Rester connecté", ce qui prolonge le délai d'expiration de la session. Cela peut être fait en utilisant la rotation des jetons
, où un nouveau jeton est obtenu à chaque demande.

export const authOptions = {
  session: {
    strategy: "jwt", // JWT ya session-based approach
    maxAge: 30 * 60, // 30 minutes ka session timeout
  },
  // baaki authentication providers yahan mention karte hain
}
Copier après la connexion
  1. Mécanisme de déconnexion automatique : Dans certains cas, pour des raisons de sécurité, les applications laissent intentionnellement la session expirer plus tôt. Comme dans les applications bancaires, vous remarquerez que si vous êtes inactif pendant un certain temps, la session est déconnectée. Vous pouvez également l'ajouter à votre configuration NextAuth si vous souhaitez maintenir une sécurité élevée.

    Scénario réel dans les applications :
  2. Imaginez, vous êtes sur une
  3. application e-commerce

    et avez ajouté quelques articles à votre panier. Si la session expire, vous vous reconnecterez, mais les articles du panier resteront tels quels. Cela est possible car les données du panier peuvent avoir été enregistrées dans le stockage local. Mais dans certaines applications sensibles comme les applications de messagerie ou bancaires, l'utilisateur doit forcer la déconnexion à l'expiration de la session.

    Alors mes amis, c'est la base complète de l'expiration de la session et comment NextAuth.js la gère dans votre projet. Ce concept peut paraître déroutant au début, mais lorsque vous le mettez en œuvre dans le monde réel, tout devient progressivement clair. Si vous avez des doutes ou souhaitez en savoir plus sur une pièce spécifique, n'hésitez pas à demander ! ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!