Spring Authorization Server: как продолжить авторизацию после входа в систему
Я пытаюсь интегрировать сервер авторизации в свое приложение с помощью формы входа. Я использую свою собственную страницу входа. В примерах предлагается использовать следующую конфигурацию:
public SecurityFilterChain authorizationServerSecurityFilterChain(HttpSecurity http)
throws Exception {
OAuth2AuthorizationServerConfiguration.applyDefaultSecurity(http);
//...
http
// Redirect to the login page when not authenticated from the
// authorization endpoint
.exceptionHandling((exceptions) ->
exceptions
.authenticationEntryPoint(new LoginUrlAuthenticationEntryPoint("/login"));
//...
)
Теперь, когда я пытаюсь авторизоваться (/oauth2/authorize?...
) Я получил перенаправление на мою страницу входа. Если я вошел в систему до того, как увижу страницу согласия OAuth и смогу отправить согласие. Но в 99% случаев я вижу свою/login
страницу, смог войти и застрял здесь. Как продолжить там страницу согласия? Должен ли я написать свою собственную логику для этого?
1 ответ
Сам решил проблему, удалив кастом.successHandler(...)
из моей пользовательской конфигурации входа в форму. По умолчаниюSavedRequestAwareAuthenticationSuccessHandler
правильно обрабатывать все перенаправления, как и ожидалось.