#spring-boot #oauth-2.0 #spring-security-oauth2 #redirect-uri-mismatch
Вопрос:
В моем приложении spring boot у меня есть две формы входа : одна для профиля администратора, другая для профиля пользователя. Теперь я хочу добавить логин у таких провайдеров, как facebook и Google. Для конечной точки авторизации я решил эту проблему с помощью authorizationRequestResolver. Я определил один для администратора, а другой для пользователя.
http.antMatcher("/{baseurl}/User/**")
...
.oauth2Login()
.loginProcessingUrl("/{baseurl}/User/login/oauth2/code/*")
.loginPage("/{baseurl}/User/Login-part")
.authorizationEndpoint()
.baseUri("/{baseurl}/User/oauth2/authorization/*")
.authorizationRequestResolver(getAuthorizationRequestResolverUser())
.authorizationRequestRepository(cookieAuthorizationRequestRepository())
.and()
...
Решатель запросов на разрешение является:
private OAuth2AuthorizationRequestResolver getAuthorizationRequestResolverUser() {
return new DefaultOAuth2AuthorizationRequestResolver(
this.clientRegistrationRepository,
"/{baseurl}/User/oauth2/authorization");
}
Проблема в том, что в loginProcessingUrl, как я могу определить два redirect_uri, один для входа администратора, а другой для пользователя.
Заранее спасибо;