Как использовать 2 Websecurityconfigureradaptor для учетных данных клиента oauth и потока разрешения авторизации в одном проекте - PullRequest
0 голосов
/ 25 октября 2019

Я разрабатываю приложение в качестве сервера авторизации, который предоставляет токен доступа в качестве ответа как для учетных данных клиента, так и для потока предоставления типа авторизации. Но после написания

formLogin.permitAll ()

я получаю страницу входа в качестве ответа для учетных данных клиента, если я даю неверный идентификатор клиента. Ранее я получил 401 несанкционированный ответ в этом случае.

От Google я узнал, что мы можем попробовать, как показано ниже, чтобы решить мою проблему.

@Configuration
@EnableWebSecurity
public class MultipleEntryPointsSecurityConfig {
@Configuration
@Order(1)
public static class App1ConfigurationAdapter extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.antMatcher("/oauth/authorize")
            .authorizeRequests().anyRequest().authenticated().formLogin().permitAll().logout.permitAll();
    }

   @Configuration
@Order(2)
public static class App2ConfigurationAdapter extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.antMatcher("/oauth/token")
            .authorizeRequests().anyRequest().authenticated();
    }
}

Вот что я пытаюсьДля конечной точки / oauth / authorize (тип предоставления кода авторизации) необходимо включить страницу входа для ввода имени пользователя и пароля.

Но для / oauth / token (тип предоставления учетных данных клиента), не требуется страница входа. Я хочу 401 в качестве ответа.

Поправь меня, если я ошибаюсь. Любая помощь в этом, очень ценится.

...