Ssylka

Authentik как SSO-решение: настройка для Spring Boot

Для настройки SSO с Authentik в Spring Boot приложении, начните с запуска Authentik сервера через Docker Compose, используя предоставленный docker-compose.yml. После запуска, настройте Authentik, создав приложение и OAuth2/OIDC провайдера, указав имя приложения, тип провайдера, и Redirect URI. Также определите Authentication и Authorization flows, выбрав или создав необходимые шаги, например, используя default-authentication-flow и default-provider-authorization-explicit-consent.
Authentik как SSO-решение: настройка для Spring Boot
Изображение носит иллюстративный характер

Создайте stage отправки email с запросом на установку пароля, используя Email Stage, и настройте recovery flow, включающий шаги для отправки email, ввода пароля и аутентификации. Управляйте пользователями, создавая группы (например, dev-super-app-user) и сервисных пользователей, назначая им необходимые разрешения API. В Spring Boot, используйте SecurityFilterChain для настройки защиты ресурсов, интеграции OAuth2Login и добавления фильтра UserAuthenticationFilter для проверки членства пользователя в группе.

Для создания и управления пользователями, уникальными по email, используйте API Authentik. Сначала поищите пользователя по email, при отсутствии создайте нового пользователя и отправьте письмо для установки пароля, при наличии — добавьте пользователя в группу приложения. Не отключайте пользователя напрямую, а удаляйте его из группы приложения, если требуется ограничить доступ. Конфигурация Spring Boot должна включать clientId, clientSecret, redirectUri, а также endpoint'ы для авторизации, токена и получения информации о пользователе.

Для решения проблем с CORS и редиректами, переопределите DefaultRedirectStrategy и переложите логику редиректа на фронтенд, который будет обрабатывать 401 ошибку и заголовок Location. При настройке authentik обратите внимание на разницу между internal и external пользователями, где external не имеют доступа к admin UI Authentik. И, наконец, можно создать пользователя запросом curl, проверить входящее письмо с ссылкой, установить пароль, и перейти по адресу с защищенным ресурсом для проверки аутентификации.


Новое на сайте

18247Зачем мозг в фазе быстрого сна стирает детали воспоминаний? 18246Мог ли древний яд стать решающим фактором в эволюции человека? 18245Тайна колодца Мурсы: раны и днк раскрыли судьбу павших солдат 18244Битва за миллиардный сэндвич без корочки 18243Почему ваши расширения для VS Code могут оказаться шпионским по? 18242Как подать заявку FAFSA на 2026-27 учебный год и получить финансовую помощь? 18241Мог ли взлом F5 раскрыть уязвимости нулевого дня в продукте BIG-IP? 18240CVS завершает поглощение активов обанкротившейся сети Rite Aid 18239Nvidia, BlackRock и Microsoft покупают основу для глобального ИИ за $40 миллиардов 18238Действительно ли только род Homo создавал орудия труда? 18237Инженерный триумф: сотрудник Rivian вырастил тыкву-победителя 18236Процент с прибыли: как инвесторы создали новый источник финансирования для... 18235Почему синхронизируемые ключи доступа открывают двери для кибератак на предприятия?