Class DefaultReactiveOAuth2UserService
java.lang.Object
org.springframework.security.oauth2.client.userinfo.DefaultReactiveOAuth2UserService
- All Implemented Interfaces:
ReactiveOAuth2UserService<OAuth2UserRequest,
OAuth2User>
public class DefaultReactiveOAuth2UserService
extends Object
implements ReactiveOAuth2UserService<OAuth2UserRequest,OAuth2User>
An implementation of an
ReactiveOAuth2UserService
that supports standard OAuth
2.0 Provider's.
For standard OAuth 2.0 Provider's, the attribute name used to access the user's name
from the UserInfo response is required and therefore must be available via
UserInfoEndpoint.getUserNameAttributeName()
.
NOTE: Attribute names are not standardized between providers and therefore will vary. Please consult the provider's API documentation for the set of supported user attribute names.
- Since:
- 5.1
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<OAuth2User>
loadUser
(OAuth2UserRequest userRequest) Returns anOAuth2User
after obtaining the user attributes of the End-User from the UserInfo Endpoint.void
setWebClient
(org.springframework.web.reactive.function.client.WebClient webClient) Sets theWebClient
used for retrieving the user endpoint
-
Constructor Details
-
DefaultReactiveOAuth2UserService
public DefaultReactiveOAuth2UserService()
-
-
Method Details
-
loadUser
public reactor.core.publisher.Mono<OAuth2User> loadUser(OAuth2UserRequest userRequest) throws OAuth2AuthenticationException Description copied from interface:ReactiveOAuth2UserService
Returns anOAuth2User
after obtaining the user attributes of the End-User from the UserInfo Endpoint.- Specified by:
loadUser
in interfaceReactiveOAuth2UserService<OAuth2UserRequest,
OAuth2User> - Parameters:
userRequest
- the user request- Returns:
- an
OAuth2User
- Throws:
OAuth2AuthenticationException
- if an error occurs while attempting to obtain the user attributes from the UserInfo Endpoint
-
setWebClient
public void setWebClient(org.springframework.web.reactive.function.client.WebClient webClient) Sets theWebClient
used for retrieving the user endpoint- Parameters:
webClient
- the client to use
-