public class OAuth2LoginReactiveAuthenticationManager extends java.lang.Object implements ReactiveAuthenticationManager
AuthenticationProvider for OAuth 2.0 Login,
which leverages the OAuth 2.0 Authorization Code Grant Flow.
This AuthenticationProvider 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 a Principal in the form of an OAuth2User.
The OAuth2User is then associated to the OAuth2LoginAuthenticationToken
to complete the authentication.
| Constructor and Description |
|---|
OAuth2LoginReactiveAuthenticationManager(ReactiveOAuth2AccessTokenResponseClient<OAuth2AuthorizationCodeGrantRequest> accessTokenResponseClient,
ReactiveOAuth2UserService<OAuth2UserRequest,OAuth2User> userService) |
| Modifier and Type | Method and Description |
|---|---|
reactor.core.publisher.Mono<Authentication> |
authenticate(Authentication authentication)
Attempts to authenticate the provided
Authentication |
void |
setAuthoritiesMapper(GrantedAuthoritiesMapper authoritiesMapper)
Sets the
GrantedAuthoritiesMapper used for mapping OAuth2AuthenticatedPrincipal.getAuthorities()
to a new set of authorities which will be associated to the OAuth2LoginAuthenticationToken. |
public OAuth2LoginReactiveAuthenticationManager(ReactiveOAuth2AccessTokenResponseClient<OAuth2AuthorizationCodeGrantRequest> accessTokenResponseClient, ReactiveOAuth2UserService<OAuth2UserRequest,OAuth2User> userService)
public reactor.core.publisher.Mono<Authentication> authenticate(Authentication authentication)
ReactiveAuthenticationManagerAuthenticationauthenticate in interface ReactiveAuthenticationManagerauthentication - the Authentication to testAuthentication is returned. If
authentication cannot be determined, an empty Mono is returned. If authentication
fails, a Mono error is returned.public final void setAuthoritiesMapper(GrantedAuthoritiesMapper authoritiesMapper)
GrantedAuthoritiesMapper used for mapping OAuth2AuthenticatedPrincipal.getAuthorities()
to a new set of authorities which will be associated to the OAuth2LoginAuthenticationToken.authoritiesMapper - the GrantedAuthoritiesMapper used for mapping the user's authorities