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

491
Visualizações
Laravel AJAX Request Post código de error: 419 después de que la identificación de la sesión cambió al iniciar sesión usando laravel auth

Tengo un problema en el que mi solicitud de AJAX devuelve un código de error 419. AJAX usa el método POST. Ya uso csrf_token() como:

 <meta name="csrf-token" content="{{ csrf_token() }}">
 $.ajaxSetup({ headers: { "X-CSRF-TOKEN": $("meta[name='csrf-token']").attr("content") } });

La solicitud AJAX funciona al registrarse y cerrar sesión. Pero al iniciar sesión, mi solicitud AJAX devuelve un 419. Entonces, el código de error 419 significa que la sesión expiró, así que pensé que mi token CSRF estaba defectuoso.

Intenté usar diferentes tokens CSRF para todas y cada una de las solicitudes de AJAX, pero aún no tuve suerte. Después de buscar en el LoginController del método Auth , encontré que en la función sendLoginResponse ( AuthenticatesUsers.php > AuthenticatesUsers > sendLoginResponse ) el "identificador de sesión" se regenera.

 $request->session()->regenerate();

Intenté eliminar la línea de código y, efectivamente, la solicitud AJAX funcionó. Pero luego leí en los documentos de Laravel que "evitará que los usuarios maliciosos exploten un ataque de fijación de sesión en su aplicación".

Y por lo tanto, no lo eliminé.

Probé muchas otras cosas con las que no los aburriré, pero mientras buscaba una solución, encontré una anomalía (?). Descubrí que en el menú F12, vaya a "Aplicación" y eche un vistazo a las Cookies, descubrí que al iniciar sesión, la cookie denominada "laravel_session" cambió 3 veces, en lugar de dos veces cuando me desconecté.

Versión de Jquery: 3.5.1 Versión de PHP: 7.4.7 Para el SQL uso XAMPP v3.2.4 (creo)

EDITAR:

Hice algunas cosas más, descubrí que si se regenera la identificación de la sesión, el navegador/ajax no aceptará respuestas. Ahora, el código de error de 419 también viene con el mensaje de error de "falta de coincidencia del token CSRF", lo que podría sugerir un problema con la cookie que contiene la información de identificación de la sesión.

Después de buscar este mensaje de error, descubrí que la identificación de la sesión es para autorizar la información de inicio de sesión. Y así, con la identificación de la sesión regenerada, podría causar un conflicto con la identificación de la sesión anterior al autorizar el inicio de sesión.

Aunque todo eso es solo especulación.

Y al final, todo es una instancia extraña y también me sorprende que no haya encontrado nada como esto en ningún lado de Internet. No creo que esto sea un problema con las solicitudes de AJAX o los métodos de autenticación predeterminados de Laravel.

Por cierto, este es el comando que usé para instalar cosas de autenticación de inicio de sesión.

 composer require laravel/ui php artisan ui vue --auth
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

debe usar X-XSRF-TOKEN con el token de XSRF Cookie , no con el token CSRF .

si está utilizando Vue.

para más información: https://stackoverflow.com/a/64992490/9287628

over 4 years ago · Santiago Trujillo 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