spring rest header csrf postman

spring - ¿Cómo envío el token csrf de primavera desde el cliente de descanso Postman?



postman csrf token (6)

Coloque X-CSRF-Token como clave y FETCH como el valor en el encabezado de solicitud GET y recibirá el token en el encabezado de respuesta

Tengo protección csrf en el marco de primavera. Entonces, en cada solicitud, envío token csrf en el encabezado de la llamada ajax, que funciona perfectamente.

<meta name="_csrf" content="${_csrf.token}"/> <meta name="_csrf_header" content="${_csrf.headerName}"/> var token = $("meta[name=''_csrf'']").attr("content"); var header = $("meta[name=''_csrf_header'']").attr("content");

En ajax

beforeSend: function(xhr) { xhr.setRequestHeader(header, token), xhr.setRequestHeader("username", "xxxx1"), xhr.setRequestHeader("password", "password") }

¿No tengo idea de generar el token csrf e incluirlo en la sección de encabezado de Postman Rest Client ? ¿Podría ayudarme a enviar el token csrf desde Postman Rest Client?


En primer lugar, debe instalar PostMan Interceptor y activarlo para tener acceso a las cookies de los navegadores.

  1. Debe buscar el token CSRF haciendo una solicitud GET: Encabezado: "XSRF-TOKEN" y Valor: "Recuperar"

  2. Debería ver el token en la pestaña de cookies y puede copiarlo (Aviso: puede configurar spring cómo se debe nombrar la cookie. Tal vez su cookie tenga un nombre diferente a "XSRF-TOKEN". Atención: puede eliminar este carácter en blanco en el token de la nueva línea)

  3. Ahora haga su solicitud POST y establezca el encabezado en: Encabezado: "X-XSRF-TOKEN" y Valor: "Su token copiado sin espacios en blanco"


La forma más fácil de hacer esto consistentemente para que no tenga que obtener el token cada vez:

NOTA: necesita instalar PostMan Interceptor y activarlo para tener acceso a las cookies de los navegadores

  1. Cree un nuevo entorno para poder almacenar las variables de entorno.

  1. Cree un método de inicio de sesión con una prueba para almacenar la cookie XSRF en una variable de entorno, en la pestaña de prueba, publique este código

    //Replace XSFR-TOKEN with your cookie name var xsrfCookie = postman.getResponseCookie("XSRF-TOKEN"); postman.setEnvironmentVariable("xsrf-token", xsrfCookie.value);

EDITAR Para cualquiera que use el cartero 5.5.2 o posterior, también tendrá que decodificar la cookie, y también han proporcionado formas alternativas de obtener cookies como señala @Sacapuces

pm.environment.set("xsrf-token", decodeURIComponent(pm.cookies.get("XSRF-TOKEN")))

Ahora tendrá una variable de entorno con xsrf-token.

  1. Guarde su método de inicio de sesión

  2. Cree la nueva publicación que desea crear y en los encabezados agregue su clave de encabezado de token XSRF y la variable de entorno en las barras de control para acceder a ella {{}}

  1. Ahora, antes de ejecutar su nueva solicitud, asegúrese de ejecutar su inicio de sesión, almacenará la variable de entorno y, cuando ejecute la solicitud, la agregará automáticamente.

Para mí funciona variante con la adición de X-CSRF-TOKEN a los encabezados.


Puedo enviar REST con token csrf siguiendo los pasos a continuación:

  1. El token CSRF generado automáticamente por Spring Security cuando inició sesión. Se mostrará en el encabezado de respuesta.

  2. El token CSRF se puede usar en una solicitud posterior configurando X-CSRF-TOKEN con el token CSRF en el encabezado.


Si no desea configurar variables de entorno, etc., esta es la solución más rápida

https://.com/a/49249850/3705478