Spring Security: Маскировка CSRF-токена

В своих проектах я крайне редко использую защиту от CSRF-атак, предоставляемую Spring Security, ввиду того, что подавляющая часть этих проектов — REST-сервисы без хранения состояния. Но один из проектов использует файлы cookies на стороне браузера для хранения состояния, а в этом случае для защиты от CSRF-атак нужно использовать средства Spring Security. И при переводе проекта на Spring Boot 3 я обнаружил, что Spring Security начал игнорировать передаваемый в заголовке CSRF-токен.

Читать далее Spring Security: Маскировка CSRF-токена

Spring Security OAuth 2.0 и Apereo CAS

Фреймворк Spring Security позволяет реализовать авторизацию в приложении при помощи протокола OAuth 2.0. Провайдерами авторизации могут быть как общедоступные сервисы, вроде Google, Facebook или GitHub, так и персональные, реализованные, например, при помощи Apereo CAS.

Читать далее Spring Security OAuth 2.0 и Apereo CAS

Интеграционное тестирование REST API с Cucumber, Spring Restdocs и Spring Cloud Contract

Модульные и интеграционные тесты серьёзно упрощают жизнь простого разработчика, позволяя выявить большую часть ошибок и проблем ещё на ранних стадиях разработки. Отдельного упоминания заслуживают фреймворки Spring Restdocs и Spring Cloud Contract, использование которых в интеграционных тестах позволяет сгенерировать сниппеты, заглушки и контракты тестируемых REST API.

Читать далее Интеграционное тестирование REST API с Cucumber, Spring Restdocs и Spring Cloud Contract

Spring Security и токен-аутентификация: Простой вариант

На днях решил перечитать документацию Spring Security и обнаружил, к своему удивлению, что фреймворк предоставляет реализацию токен-аутентификации прямо из коробки. Получилось как всегда: вместо того, чтобы изобретать собственные велосипеды, нужно было заглянуть в документацию. В общем, как обычно, RTFM. Да, мой вариант работает вполне нормально и придерживается того же принципа, но логичнее использовать инструменты, предоставляемые разработчиками Spring. Читать далее Spring Security и токен-аутентификация: Простой вариант