"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¡¡Tu sesión ha caducado!!

¡¡Tu sesión ha caducado!!

Publicado el 2024-11-08
Navegar:751

Your Session has Expired !!

Bueno, hoy estamos hablando del concepto de "Caducidad de la sesión", especialmente cuando usas NextAuth.js en tu proyecto. Entender en un lenguaje sencillo y amigable, para que no haya confusión. ,

Entonces, antes que nada, comprendamos el significado del error "Su sesión ha caducado". Este es un error relacionado con la

autenticación, que ocurre cuando finaliza la sesión de inicio de sesión del usuario. Por ejemplo, iniciaste sesión en un sitio web o una aplicación, la usaste por un tiempo y luego la abandonaste por un tiempo. Cuando regresé, apareció el mensaje en la pantalla "La sesión expiró, inicie sesión nuevamente". Es decir, el permiso que anteriormente le otorgaba acceso a la aplicación ha caducado y deberá volver a iniciar sesión para autenticarse nuevamente. , , , Un ejemplo para entender: , Imagínate que entras a un centro comercial y el guardia de seguridad te da una

tarjeta de visitante
para entrar. Desde el momento en que su tarjeta de visitante sea válida, podrá pasear por el centro comercial, hacer compras y ver películas. Pero si la tarjeta de visitante es válida solo por una hora y cruzas una hora, tendrás que salir o pedir permiso a la seguridad nuevamente. Exactamente así, la sesión también es un

permiso temporal

, que puede caducar.

, , ¿Cómo funciona NextAuth en mi sesión? , Ahora, si implementamos NextAuth.js, también hay algunas reglas. Cuando un usuario inicia sesión, NextAuth rastrea la identidad del usuario utilizando JWT (JSON Web Tokens)

o
cookies de sesión

. , , ,

JWT

es un token que se envía codificando las credenciales del usuario y se envía con cada solicitud para verificar si el usuario es válido o no. , Cookies de sesión se almacenan en el navegador, a través del cual el backend sabe qué usuario ha iniciado sesión actualmente. , Pero tienen un tiempo de vencimiento

, que usted establece a través de la
    configuración
  • . Como: , exportar opciones de autenticación constantes = { sesión: { estrategia: "jwt", // JWT o enfoque basado en sesiones maxAge: 30 * 60, // tiempo de espera de sesión de 30 minutos , // Aquí se mencionan otros proveedores de autenticación , ,
  • Aquí maxAge significa que la sesión permanecerá activa solo durante 30 minutos. Si el usuario realiza alguna acción (como actualizar la página o cualquier solicitud) después de 30 minutos, la sesión caducará y el usuario deberá volver a iniciar sesión.
  • , , Método para evitar la caducidad de la sesión , , , Actualización silenciosa: Puedes implementar un
  • token de actualización
, que actualiza silenciosamente la sesión en segundo plano, para que el usuario no tenga que iniciar sesión manualmente cada vez.

, Por ejemplo, en NextAuth puedes hacer sondeo de sesión para que la sesión se actualice automáticamente: ,
usar sesión ({ requerido: verdadero, onUnauthenticated() { iniciar sesión(); // Redirigir a la página de inicio de sesión si la sesión caduca , , , ,

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
}
Permanecer conectado

: Algunas aplicaciones le dan al usuario la opción de "Permanecer conectado", lo que extiende el tiempo de vencimiento de la sesión. Esto se puede hacer usando la

rotación de tokens
, donde se obtiene un nuevo token en cada solicitud.

  1. Mecanismo de cierre de sesión automático: En algunos casos, por razones de seguridad, las aplicaciones permiten intencionalmente que la sesión caduque antes de tiempo. Al igual que en las aplicaciones bancarias, notarás que si estás inactivo durante algún tiempo, se cierra la sesión. También puedes agregar esto a tu configuración de NextAuth si deseas mantener una alta seguridad.
, , , Escenario de la vida real en aplicaciones: ,

Imagínese que está en una aplicación de comercio electrónico y ha agregado algunos quesos a su carrito. Si la sesión caduca, volverá a iniciar sesión, pero los artículos del carrito permanecerán como están. Esto es posible porque es posible que los datos del carrito se hayan guardado en
almacenamiento local

. Pero algunas aplicaciones sensibles como el correo electrónico o las aplicaciones bancarias tienen que forzar el cierre de sesión
   useSession({
     required: true,
     onUnauthenticated() {
       signIn(); // Redirect to login page agar session expire ho jaaye
     },
   });
,
    Amigos, esta es la base completa del vencimiento de la sesión y cómo NextAuth.js lo maneja en su proyecto. Este concepto puede parecer confuso al principio, pero cuando lo implementas en el mundo real, todo se aclara gradualmente. Si tienes alguna duda y quieres conocer en detalle alguna pieza concreta, ¡no dudes en preguntar! , , ,
Declaración de liberación Este artículo se reproduce en: https://dev.to/shanu001x/your-session-has-expired--3ko3?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3