Spring security 5 и OAuth2 - обработчик успеха не вызывается, и после входа он входит в бесконечный цикл - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь перевести Spring Security на последнюю версию (Spring Security 5.2.2 и Cloud OAuth2). Поскольку @ EnableOAuth2Client находится в режиме обслуживания, я пытаюсь использовать http.oauth2Login () с настройкой для обработчика успеха. Ниже приведен мой класс безопасности -

@Configuration
public class OAuth2SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
         .anyRequest().authenticated()
         .and()
         .oauth2Login().successHandler(new SimpleUrlAuthenticationSuccessHandler("<url to redirect>"));
    }
}

Я зарегистрировал клиента с именем «custom». Ниже приводится последовательность действий в браузере -

http://localhost:9000/oauth2/authorization/custom -> страница входа в систему IDP и успешный вход в систему -> Получить код авторизации на URL http://localhost:9000/login/oauth2/code/custom -> он снова переходит на http://localhost:9000/oauth2/authorization/custom и бесконечно l oop , Successhandler не вызывается. Кроме того, я не вижу генерации маркеров доступа в журналах.

За последние два дня я пробовал много вещей, таких как настройка безопасности и т. Д. c, но ничего не работает.

Любая помощь приветствуется ,

1 Ответ

0 голосов
/ 16 марта 2020

Проблема была с конечной точкой информации пользователя. Мой IDP не предоставил конечную точку информации о пользователе, хотя он является обязательным весной oauth2, где запрос не удался. Мне нужно было переопределить реализацию OAuth2UserService по умолчанию, чтобы решить эту проблему.

...