весенняя загрузка с использованием двух разных провайдеров oauth одновременно

Я сталкиваюсь с ситуацией, когда мне приходится проверять токен oauth против 2 разных провайдеров oauth с учетом входного контекста (частный вызов may api vs public call)

Есть ли простой способ определить 2 oauth-провайдера при весенней загрузке и как настроить балансировку между 2-мя провайдерами?

Всего 1 ответ


Сначала вам нужно будет реализовать 2 AuthenticationProvider затем в вашем классе конфигурации, который реализует WebSecurityConfigurerAdapter вы автоматически подключите этих провайдеров. Наконец, переопределите public void configure(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception { для добавления этих провайдеров.

@Configuration
public class SampleAuthConfiguration extends WebSecurityConfigurerAdapter {
    @Autowired
    private CustomAuthenticationProvider1 provider1;

    @Autowired
    private CustomAuthenticationProvider2 provider2;

    @Override
    public void configure(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception {
        authenticationManagerBuilder
            .authenticationProvider(this.provider1)
            .authenticationProvider(this.provider2);
    }
}

Ниже приведены некоторые уроки. Может быть устаревшим, но может помочь вам понять это. https://dzone.com/articles/spring-security-authentication

https://www.baeldung.com/spring-security-multiple-auth-providers


Есть идеи?

10000