Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

280
Vistas
¿Cómo caducar una sesión en la cookie "laravel_session" de Laravel SPA?"

Actualmente tengo una aplicación con Laravel + Sanctum + Vue SPA + Apollo GraphQL.

Estoy tratando de hacer que una sesión caduque como en una aplicación normal de Laravel, pero no puedo lograrlo.

Primero hago una solicitud para activar la csrf-cookie de Sanctum en la interfaz:

 await fetch(`${process.env.VUE_APP_API_HTTP}/api/csrf-cookie`, { credentials: 'include' })

Genera 2 cookies en el navegador: XSRF-COOKIE y laravel_session

Al iniciar sesión, uso apollo y auth-token después de realizar una solicitud de inicio de sesión:

 const data = await apolloClient.mutate({ mutation: Login, variables: credentials }) const token = data.data.login.token await onLogin(apolloClient, token) export async function onLogin (apolloClient, token) { if (typeof localStorage !== 'undefined' && token) { localStorage.setItem(AUTH_TOKEN_NAME, token) } ....

Así que paso el token y la cookie a apolloClient link prop, pero no estoy seguro de si es necesario pasar el XSRF-TOKEN.

 const authLink = setContext(async (_, { headers }) => { const token = localStorage.getItem(AUTH_TOKEN_NAME) return { headers: { ...headers, authorization: token ? `Bearer ${token}` : '', 'XSRF-TOKEN': Cookie.get('XSRF-TOKEN'), } } })

Aquí está el problema: la sesión de inicio de sesión nunca caduca, incluso con la cookie laravel_session , ya intenté pasar laravel_session como encabezado en mi conexión de enlace, pero parece que no funciona.

Mi session.php de Laravel está configurado 'expire_on_close' => true para asegurarme de que puedo probarlo. Cierro el navegador y lo vuelvo a abrir, también estoy seguro de que la cookie está configurada para caducar al cerrar porque dice en la información de cookies del navegador.

¿Alguna idea de cómo puedo hacer que la sesión de laravel funcione en un SPA?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Si está utilizando cookies para administrar la sesión, su archivo .env debería verse así:

 SESSION_DRIVER=cookie

También puede definir la duración de la sesión a continuación

 SESSION_LIFETIME=120

Sugerencia: establezca la vida útil en 1 minuto, inicie sesión y espere a ver si caduca. ¡Hágamelo saber!

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda