Search in sources :

Example 1 with CustomUserTypesOAuth2UserService

use of org.springframework.security.oauth2.client.userinfo.CustomUserTypesOAuth2UserService in project spring-security by spring-projects.

the class OAuth2LoginConfigurer method getOAuth2UserService.

private OAuth2UserService<OAuth2UserRequest, OAuth2User> getOAuth2UserService() {
    if (this.userInfoEndpointConfig.userService != null) {
        return this.userInfoEndpointConfig.userService;
    }
    ResolvableType type = ResolvableType.forClassWithGenerics(OAuth2UserService.class, OAuth2UserRequest.class, OAuth2User.class);
    OAuth2UserService<OAuth2UserRequest, OAuth2User> bean = getBeanOrNull(type);
    if (bean != null) {
        return bean;
    }
    if (this.userInfoEndpointConfig.customUserTypes.isEmpty()) {
        return new DefaultOAuth2UserService();
    }
    List<OAuth2UserService<OAuth2UserRequest, OAuth2User>> userServices = new ArrayList<>();
    userServices.add(new CustomUserTypesOAuth2UserService(this.userInfoEndpointConfig.customUserTypes));
    userServices.add(new DefaultOAuth2UserService());
    return new DelegatingOAuth2UserService<>(userServices);
}
Also used : CustomUserTypesOAuth2UserService(org.springframework.security.oauth2.client.userinfo.CustomUserTypesOAuth2UserService) OAuth2User(org.springframework.security.oauth2.core.user.OAuth2User) DelegatingOAuth2UserService(org.springframework.security.oauth2.client.userinfo.DelegatingOAuth2UserService) DefaultOAuth2UserService(org.springframework.security.oauth2.client.userinfo.DefaultOAuth2UserService) CustomUserTypesOAuth2UserService(org.springframework.security.oauth2.client.userinfo.CustomUserTypesOAuth2UserService) OAuth2UserService(org.springframework.security.oauth2.client.userinfo.OAuth2UserService) ArrayList(java.util.ArrayList) DelegatingOAuth2UserService(org.springframework.security.oauth2.client.userinfo.DelegatingOAuth2UserService) OAuth2UserRequest(org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest) ResolvableType(org.springframework.core.ResolvableType) DefaultOAuth2UserService(org.springframework.security.oauth2.client.userinfo.DefaultOAuth2UserService)

Example 2 with CustomUserTypesOAuth2UserService

use of org.springframework.security.oauth2.client.userinfo.CustomUserTypesOAuth2UserService in project spring-security by spring-projects.

the class CustomUserTypesOAuth2UserServiceTests method setUp.

@BeforeEach
public void setUp() throws Exception {
    this.server = new MockWebServer();
    this.server.start();
    String registrationId = "client-registration-id-1";
    // @formatter:off
    this.clientRegistrationBuilder = TestClientRegistrations.clientRegistration().registrationId(registrationId);
    // @formatter:on
    this.accessToken = TestOAuth2AccessTokens.noScopes();
    Map<String, Class<? extends OAuth2User>> customUserTypes = new HashMap<>();
    customUserTypes.put(registrationId, CustomOAuth2User.class);
    this.userService = new CustomUserTypesOAuth2UserService(customUserTypes);
}
Also used : OAuth2User(org.springframework.security.oauth2.core.user.OAuth2User) HashMap(java.util.HashMap) MockWebServer(okhttp3.mockwebserver.MockWebServer) BeforeEach(org.junit.jupiter.api.BeforeEach)

Aggregations

OAuth2User (org.springframework.security.oauth2.core.user.OAuth2User)2 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 MockWebServer (okhttp3.mockwebserver.MockWebServer)1 BeforeEach (org.junit.jupiter.api.BeforeEach)1 ResolvableType (org.springframework.core.ResolvableType)1 CustomUserTypesOAuth2UserService (org.springframework.security.oauth2.client.userinfo.CustomUserTypesOAuth2UserService)1 DefaultOAuth2UserService (org.springframework.security.oauth2.client.userinfo.DefaultOAuth2UserService)1 DelegatingOAuth2UserService (org.springframework.security.oauth2.client.userinfo.DelegatingOAuth2UserService)1 OAuth2UserRequest (org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest)1 OAuth2UserService (org.springframework.security.oauth2.client.userinfo.OAuth2UserService)1