Если вы используете springboot, то токен csrf автоматически добавляется к ответу CsrfRequestDataValueProcessor
. Springboot по умолчанию не добавляет токен csrf для GET, но для POST он будет добавлен по мере изменения состояния. Чтобы использовать токен, например, с jsp:
<c:url var="logoutUrl" value="/logout"/>
<form action="${logoutUrl}"
method="post">
<input type="submit"
value="Log out" />
<input type="hidden"
name="${_csrf.parameterName}"
value="${_csrf.token}"/>
</form>
, когда форма загружена, Springboot будет автоматически вводить значение для токена csrf через постпроцессор. Если вы хотите использовать токен csrf в вызове ajax, вам нужно будет получить токен csrf, проверив DOM и вручную добавив его в свой ajax запрос:
$(function () {
var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
$(document).ajaxSend(function(e, xhr, options) {
xhr.setRequestHeader(header, token);
});
});
Примечание: оба эти примеры взяты из самой документации.
Официальный do c.