У меня проблемы с настройкой Spring Security для удовлетворения моих требований.
Вот моя ситуация.
- Сервер авторизации a. поддерживает идентификатор пользователя / логин PWD б. поддерживает вход в Microsoft Azure AD через oauth2. Когда пользователь входит в систему с учетной записью Azure, новый идентификатор пользователя должен быть создан на сервере авторизации и должен генерировать токен доступа (JWT) для использования пользователем для доступа к серверам ресурсов
- Несколько серверов ресурсов a. принимает токен доступа (JWT), сгенерированный (1) сервером авторизации, чтобы разрешить / заблокировать доступ к ресурсу
Мне удалось заставить Azure AD oauth работать с нижеприведенным и azure -active- directory-spring-boot-starter.
Но как мне сгенерировать токен доступа, когда пользователь входит в систему с Azure? Прямо сейчас я получаю проблемы с токенами доступа Azure AD, и мои серверы ресурсов не понимают их.
@Override
public void configure(final HttpSecurity http) throws Exception {
// @formatter:off
http.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.IF_REQUIRED)
.and()
.authorizeRequests()
.anyRequest()
.permitAll()
.and().formLogin()
.loginPage("https://sso.company.xyz/login").loginProcessingUrl("/oauth/process")
.permitAll()
.and()
.oauth2Login()
.userInfoEndpoint()
.oidcUserService(this.oidcUserService());