Я разрабатываю приложение в качестве сервера авторизации, который предоставляет токен доступа в качестве ответа как для учетных данных клиента, так и для потока предоставления типа авторизации. Но после написания
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 в качестве ответа.
Поправь меня, если я ошибаюсь. Любая помощь в этом, очень ценится.