Spring Security SSO для Azure B2 C и Azure AD для SSO - PullRequest
0 голосов
/ 31 марта 2020

Моё весеннее приложение должно позволять сотрудникам и внешним клиентам входить в систему с помощью Azure.

Я следую учебным пособиям по MS Azure B2 C ЗДЕСЬ , и B2 C работает. Мне также нужно разрешить Azure AD логин для сотрудников. На странице c будут отображаться кнопки входа в систему для клиентов и сотрудников.

Я добавил файлы конфигурации Azure AD, но не могу заставить его работать. B2 C config:

@Configuration
@EnableOAuth2Sso
@Order(1)
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {


    private final AADB2COidcLoginConfigurer configurer;


    public WebSecurityConfiguration(AADB2COidcLoginConfigurer configurer) {
        this.configurer = configurer;
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        System.out.println(" Customer is Authenticating ");

        http
                .authorizeRequests()
                .antMatchers("/employee/**").hasRole("USER")
                .antMatchers("/","/login**").permitAll()
                .anyRequest()
                .authenticated()
                .and()
                .apply(configurer)
        ;
    }
}

Azure AD (Сотрудники)

    @Configuration
    @EnableOAuth2Sso
    @Order(2)
    public class EmployeeSecurityConfiguration extends WebSecurityConfigurerAdapter {

        @Autowired
        private OAuth2UserService<OidcUserRequest, OidcUser> oidcUserService;

        @Override
        protected void configure(HttpSecurity http) throws Exception {
        System.out.println(" Employee is Authenticating ");

        http
            .authorizeRequests()
            .antMatchers("/auth/**").hasRole("USER")
            .antMatchers("/", "/login**").permitAll()
            .anyRequest().authenticated()
            .and()
            .oauth2Login()
            .userInfoEndpoint()
            .oidcUserService(oidcUserService);
    }
}

Но когда я запускаю приложение, распознается только путь B2 C.

Это правильный подход? Любая помощь будет принята с благодарностью.

Кевин

...