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


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

14786Память, ожившая на сцене: как Cat Hunter создает театр в честь сына 14785Смертельная рулетка: как нелегальные препараты для похудения угрожают жизни 14783Птицы от рассвета до заката: персональная выставка Джима мойра в Lady Lever Art Gallery 14782Новая жизнь фасада: надежда и история на стенах кинотеатра ABC 14781Поворот в доступности абортов: как законы и технологии меняют картину в США 14780Что стало с лицом Lil Nas X? 14779Взлом аккаунта министра: криптовалютная афера на платформе X 14778Google под прицелом антимонопольной комиссии Японии 14777Хор для тех, кто не умеет петь: как Zest Choir меняет отношение к музыке 14776Поглотила ли покупка Instagram конкуренцию на рынке соцсетей? 14775Как у прилавка с суши возникла уэльская морская трава? 14774Почему муравьи становятся новой целью международных браконьеров? 14773Как пятеро друзей из Dude Perfect стали символом семейного развлечения? 14772Может ли Хельсинки стать новой столицей европейских стартапов?