Class OAuth2LoginReactiveAuthenticationManager
- java.lang.Object
-
- org.springframework.security.oauth2.client.authentication.OAuth2LoginReactiveAuthenticationManager
-
- All Implemented Interfaces:
ReactiveAuthenticationManager
public class OAuth2LoginReactiveAuthenticationManager extends java.lang.Object implements ReactiveAuthenticationManager
An implementation of anAuthenticationProvider
for OAuth 2.0 Login, which leverages the OAuth 2.0 Authorization Code Grant Flow. ThisAuthenticationProvider
is responsible for authenticating an Authorization Code credential with the Authorization Server's Token Endpoint and if valid, exchanging it for an Access Token credential.It will also obtain the user attributes of the End-User (Resource Owner) from the UserInfo Endpoint using an
OAuth2UserService
, which will create aPrincipal
in the form of anOAuth2User
. TheOAuth2User
is then associated to theOAuth2LoginAuthenticationToken
to complete the authentication.
-
-
Constructor Summary
Constructors Constructor Description OAuth2LoginReactiveAuthenticationManager(ReactiveOAuth2AccessTokenResponseClient<OAuth2AuthorizationCodeGrantRequest> accessTokenResponseClient, ReactiveOAuth2UserService<OAuth2UserRequest,OAuth2User> userService)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description reactor.core.publisher.Mono<Authentication>
authenticate(Authentication authentication)
Attempts to authenticate the providedAuthentication
void
setAuthoritiesMapper(GrantedAuthoritiesMapper authoritiesMapper)
Sets theGrantedAuthoritiesMapper
used for mappingOAuth2AuthenticatedPrincipal.getAuthorities()
to a new set of authorities which will be associated to theOAuth2LoginAuthenticationToken
.
-
-
-
Constructor Detail
-
OAuth2LoginReactiveAuthenticationManager
public OAuth2LoginReactiveAuthenticationManager(ReactiveOAuth2AccessTokenResponseClient<OAuth2AuthorizationCodeGrantRequest> accessTokenResponseClient, ReactiveOAuth2UserService<OAuth2UserRequest,OAuth2User> userService)
-
-
Method Detail
-
authenticate
public reactor.core.publisher.Mono<Authentication> authenticate(Authentication authentication)
Description copied from interface:ReactiveAuthenticationManager
Attempts to authenticate the providedAuthentication
- Specified by:
authenticate
in interfaceReactiveAuthenticationManager
- Parameters:
authentication
- theAuthentication
to test- Returns:
- if authentication is successful an
Authentication
is returned. If authentication cannot be determined, an empty Mono is returned. If authentication fails, a Mono error is returned.
-
setAuthoritiesMapper
public final void setAuthoritiesMapper(GrantedAuthoritiesMapper authoritiesMapper)
Sets theGrantedAuthoritiesMapper
used for mappingOAuth2AuthenticatedPrincipal.getAuthorities()
to a new set of authorities which will be associated to theOAuth2LoginAuthenticationToken
.- Parameters:
authoritiesMapper
- theGrantedAuthoritiesMapper
used for mapping the user's authorities- Since:
- 5.4
-
-