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)
ReactiveAuthenticationManager
Authentication
authenticate
in interface ReactiveAuthenticationManager
authentication
- 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