Browse Source

Polish gh-8669

pull/8822/head
Joe Grandja 6 years ago
parent
commit
7cc6509200
  1. 11
      config/src/main/java/org/springframework/security/config/http/OAuth2ClientBeanDefinitionParser.java
  2. 20
      config/src/main/java/org/springframework/security/config/http/OAuth2ClientBeanDefinitionParserUtils.java
  3. 11
      config/src/main/java/org/springframework/security/config/http/OAuth2LoginBeanDefinitionParser.java

11
config/src/main/java/org/springframework/security/config/http/OAuth2ClientBeanDefinitionParser.java

@ -25,11 +25,11 @@ import org.springframework.beans.factory.xml.ParserContext; @@ -25,11 +25,11 @@ import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.security.oauth2.client.authentication.OAuth2AuthorizationCodeAuthenticationProvider;
import org.springframework.security.oauth2.client.web.OAuth2AuthorizationCodeGrantFilter;
import org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter;
import org.springframework.security.oauth2.client.web.OAuth2AuthorizedClientRepository;
import org.springframework.util.StringUtils;
import org.springframework.util.xml.DomUtils;
import org.w3c.dom.Element;
import static org.springframework.security.config.http.OAuth2ClientBeanDefinitionParserUtils.createAuthorizedClientRepository;
import static org.springframework.security.config.http.OAuth2ClientBeanDefinitionParserUtils.createDefaultAuthorizedClientRepository;
import static org.springframework.security.config.http.OAuth2ClientBeanDefinitionParserUtils.getAuthorizedClientRepository;
import static org.springframework.security.config.http.OAuth2ClientBeanDefinitionParserUtils.getAuthorizedClientService;
@ -64,12 +64,9 @@ final class OAuth2ClientBeanDefinitionParser implements BeanDefinitionParser { @@ -64,12 +64,9 @@ final class OAuth2ClientBeanDefinitionParser implements BeanDefinitionParser {
BeanMetadataElement authorizedClientRepository = getAuthorizedClientRepository(element);
if (authorizedClientRepository == null) {
BeanMetadataElement authorizedClientService = getAuthorizedClientService(element);
if (authorizedClientService == null) {
this.defaultAuthorizedClientRepository = createDefaultAuthorizedClientRepository(clientRegistrationRepository);
authorizedClientRepository = this.defaultAuthorizedClientRepository;
} else {
authorizedClientRepository = createAuthorizedClientRepository(authorizedClientService);
}
this.defaultAuthorizedClientRepository = createDefaultAuthorizedClientRepository(
clientRegistrationRepository, authorizedClientService);
authorizedClientRepository = new RuntimeBeanReference(OAuth2AuthorizedClientRepository.class);
}
BeanMetadataElement authorizationRequestRepository = getAuthorizationRequestRepository(
authorizationCodeGrantElt);

20
config/src/main/java/org/springframework/security/config/http/OAuth2ClientBeanDefinitionParserUtils.java

@ -59,18 +59,14 @@ final class OAuth2ClientBeanDefinitionParserUtils { @@ -59,18 +59,14 @@ final class OAuth2ClientBeanDefinitionParserUtils {
return null;
}
static BeanMetadataElement createAuthorizedClientRepository(BeanMetadataElement authorizedClientService) {
return BeanDefinitionBuilder.rootBeanDefinition(
"org.springframework.security.oauth2.client.web.AuthenticatedPrincipalOAuth2AuthorizedClientRepository")
.addConstructorArgValue(authorizedClientService)
.getBeanDefinition();
}
static BeanDefinition createDefaultAuthorizedClientRepository(BeanMetadataElement clientRegistrationRepository) {
BeanDefinition authorizedClientService = BeanDefinitionBuilder.rootBeanDefinition(
"org.springframework.security.oauth2.client.InMemoryOAuth2AuthorizedClientService")
.addConstructorArgValue(clientRegistrationRepository)
.getBeanDefinition();
static BeanDefinition createDefaultAuthorizedClientRepository(
BeanMetadataElement clientRegistrationRepository, BeanMetadataElement authorizedClientService) {
if (authorizedClientService == null) {
authorizedClientService = BeanDefinitionBuilder.rootBeanDefinition(
"org.springframework.security.oauth2.client.InMemoryOAuth2AuthorizedClientService")
.addConstructorArgValue(clientRegistrationRepository)
.getBeanDefinition();
}
return BeanDefinitionBuilder.rootBeanDefinition(
"org.springframework.security.oauth2.client.web.AuthenticatedPrincipalOAuth2AuthorizedClientRepository")
.addConstructorArgValue(authorizedClientService)

11
config/src/main/java/org/springframework/security/config/http/OAuth2LoginBeanDefinitionParser.java

@ -37,6 +37,7 @@ import org.springframework.security.oauth2.client.authentication.OAuth2LoginAuth @@ -37,6 +37,7 @@ import org.springframework.security.oauth2.client.authentication.OAuth2LoginAuth
import org.springframework.security.oauth2.client.registration.ClientRegistration;
import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository;
import org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter;
import org.springframework.security.oauth2.client.web.OAuth2AuthorizedClientRepository;
import org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter;
import org.springframework.security.oauth2.core.OAuth2AuthenticationException;
import org.springframework.security.oauth2.core.OAuth2Error;
@ -66,7 +67,6 @@ import java.util.LinkedHashMap; @@ -66,7 +67,6 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import static org.springframework.security.config.http.OAuth2ClientBeanDefinitionParserUtils.createAuthorizedClientRepository;
import static org.springframework.security.config.http.OAuth2ClientBeanDefinitionParserUtils.createDefaultAuthorizedClientRepository;
import static org.springframework.security.config.http.OAuth2ClientBeanDefinitionParserUtils.getAuthorizedClientRepository;
import static org.springframework.security.config.http.OAuth2ClientBeanDefinitionParserUtils.getAuthorizedClientService;
@ -136,12 +136,9 @@ final class OAuth2LoginBeanDefinitionParser implements BeanDefinitionParser { @@ -136,12 +136,9 @@ final class OAuth2LoginBeanDefinitionParser implements BeanDefinitionParser {
BeanMetadataElement authorizedClientRepository = getAuthorizedClientRepository(element);
if (authorizedClientRepository == null) {
BeanMetadataElement authorizedClientService = getAuthorizedClientService(element);
if (authorizedClientService == null) {
this.defaultAuthorizedClientRepository = createDefaultAuthorizedClientRepository(clientRegistrationRepository);
authorizedClientRepository = this.defaultAuthorizedClientRepository;
} else {
authorizedClientRepository = createAuthorizedClientRepository(authorizedClientService);
}
this.defaultAuthorizedClientRepository = createDefaultAuthorizedClientRepository(
clientRegistrationRepository, authorizedClientService);
authorizedClientRepository = new RuntimeBeanReference(OAuth2AuthorizedClientRepository.class);
}
BeanMetadataElement accessTokenResponseClient = getAccessTokenResponseClient(element);
BeanMetadataElement oauth2UserService = getOAuth2UserService(element);

Loading…
Cancel
Save