Saltar al contenido

Laravel X-CSRF-Token no coincide con POSTMAN

Solución:

Si no está utilizando formularios, para una API, por ejemplo, puede seguir los pasos aquí https://gist.github.com/ethanstenis/3cc78c1d097680ac7ef0:

Esencialmente, agregue lo siguiente a su cabezal de hoja o ramita

<meta name="csrf-token" content="{{ csrf_token() }}">

Instale Postman Interceptor si aún no está instalado y enciéndalo

Luego, en su navegador, inicie sesión en el sitio (debe estar autorizado) e inspeccione el elemento o vea la fuente para recuperar el token

En Postman, configure GET / POST, etc., según sea necesario, y en su encabezado cree un nuevo par

X-CSRF-TOKEN        tokenvaluetobeinserted235kwgeiOIulgsk

Algunas personas recomiendan desactivar el token CSRF cuando prueban la API, pero en realidad no lo está probando, ¿verdad?

Si encuentra que todavía tiene errores, vuelva a verificar la respuesta usando preview ya que Laravel tiende a ser bastante explícito con sus mensajes de error. Si no regresa nada, revise su php_error.log (como se llame).


ps Oct 2018: ahora uso Laravel Passport para manejar el registro de API, los inicios de sesión y los tokens de usuario, ¡vale la pena echarle un vistazo!

Usar cartero
Realice una solicitud GET a cualquier página que tenga
<meta name="csrf-token" content="{{ csrf_token() }}">

Copie el valor de la respuesta.

Agregue un campo de encabezado a su solicitud POST:

"X-CSRF-TOKEN: "copied_token_in_previous_get_response"

Sí, cambia cada actualización. Debería ponerlo en la vista y cuando lo publique debe enviarse como el valor de la var POST “_token”.

Si solo está utilizando un POST estándar, simplemente agregue esto al formulario:

<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">

Si está utilizando AJAX, asegúrese de tomar el valor de _token y pasarlo con la solicitud.

REF: http://laravel.com/docs/5.1/routing#csrf-protection

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *