Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

297
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda