Как справиться с защитой CSRF с помощью веб-сервисов Spring RESTful?

У меня есть веб-приложение Spring с включенной защитой CSRF. Я могу получить доступ к сервису RESTful через вызовы AJAX, но когда я обращаюсь к сервису с помощью других приложений, таких как httpurlconnection, я получаю ошибку 401 (нулевой токен CSRF).

Я понимаю, что для доступа к службе RESTful мне нужно передать токен в заголовке запроса, но как я могу получить токен CSRF?

1 ответ

Решение

В Spring MVC вы можете создать отображение, которое получает токен CSRF:

@RequestMapping(value="/csrf-token", method=RequestMethod.GET)
public @ResponseBody String getCsrfToken(HttpServletRequest request) {
    CsrfToken token = (CsrfToken)request.getAttribute(CsrfToken.class.getName());
    return token.getToken();
}
Другие вопросы по тегам