Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

479
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!