Я использую spring и включил csrf с HttpSessionCsrfTokenRepository, я четко знаю, отправляет ли клиент токен csrf в виде параметра _csrf или X-CSRF-TOKEN для запроса, а весна выбирает токен и проверяется токеном, который был генерируется с помощью generateToken(HttpServletRequest request)
Но мой вопрос в том, как весна делает это внутренне.
Моя причина этого вопроса:
1.У меня есть вызов Rest POST, который принимает учетные данные и проверяет
личность пользователя. Но так как я хочу добавить токен csrf в
остальные вызов как слой безопасности, я хотел бы добавить его в теле поста
для предотвращения утечки токена csrf.
Так что, если я знаю, как Spring Security внутренне фильтрует эти токены, было бы полезно. Я пересмотрел весеннюю документацию, но в основном мы можем использовать токен CSRF в форме со скрытым полем или метатегами и вызовом Ajax с заголовком.
И я также хотел бы услышать любые комментарии о моем дизайне, если будет полезно иметь токен в теле (я убежден, потому что это не будет простым параметром url для утечки токена), или я должен иметь его в заголовок. Я просто не хочу использовать заголовок только потому, что он прост. В поисках лучшего решения.
Пожалуйста, пролите немного света.