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, проверить входящее письмо с ссылкой, установить пароль, и перейти по адресу с защищенным ресурсом для проверки аутентификации.


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

19232Скелет великана с трепанированным черепом обнаружен в массовом захоронении эпохи викингов 19231Почему пустыни возникают на берегу океана? 19230Кто вы по хронотипу — сова или жаворонок? 19229Сколько миллиардов лет отведено земле и другим планетам до их неизбежного разрушения? 19228Как экспериментальная назальная вакцина защищает лабораторных мышей от вирусов, бактерий... 19225Как привычная проверка паспорта превращается в скрытый канал утечки данных внутри... 19224Многоступенчатая угроза VOIDGEIST: как злоумышленники скрытно внедряют трояны XWorm,... 19223Эпоха «вайбвейра»: ИИ и экзотический код в масштабных кибератаках группировки APT36 19222Почему переход на ИИ-управление рисками становится главным условием роста для современных... 19221Атака на телекоммуникации южной Америки: новые инструменты китайской группировки UAT-9244 19220Критические бреши Hikvision и Rockwell Automation спровоцировали экстренные меры... 19219Масштабная кампания ClickFix использует Windows Terminal для развертывания Lumma Stealer... 19218Критический март для Cisco: хакеры активно эксплуатируют уязвимости Catalyst SD-WAN... 19217Трансформация двухколесного будущего: от индустриального триумфа до постапокалиптического... 19216Смертельный симбиоз спама и эксплойтов: как хакеры захватывают корпоративные сети за 11...
Ссылка