Краткий ответ
CSRF заботится только о действиях, которые могут манипулировать данными;для этого используются глаголы http: POST, PUT, PATCH и DELETE.Задача CSRF не защищать вас от запросов, предназначенных только для просмотра данных: GET, HEAD, OPTIONS, TRACE.
Длинный ответ
В Spring Security функция CSRF включенапо умолчанию путем реализации шаблона токена синхронизатора.Что это на самом деле означает: когда вы инициируете сеанс, вы получите токен (сгенерированный случайным образом), который нужно передавать каждый раз как X-XSRF-TOKEN
(или что-то подобное) заголовок каждый раз, когда вы делаете POST, PUT,PATCH или DELETE запрос.Если токен not present
или токен присутствует, но not matched
для сгенерированного Spring Security, вы не можете сделать этот запрос.
Проблема, с которой вы сталкиваетесь сейчас, заключается в том, что выне передают заголовок CSRF почтальону.
Теперь возникает вопрос, действительно ли вам нужна защита CSRF?Это зависит от того, как вы храните токен аутентификации в ваших клиентах.Я бы посоветовал взглянуть на защиту CSRF, и если она не нужна, вы можете просто отключить ее.