Class ReactiveAuthenticationManagerAdapter
- java.lang.Object
-
- org.springframework.security.authentication.ReactiveAuthenticationManagerAdapter
-
- All Implemented Interfaces:
ReactiveAuthenticationManager
public class ReactiveAuthenticationManagerAdapter extends java.lang.Object implements ReactiveAuthenticationManager
Adapts an AuthenticationManager to the reactive APIs. This is somewhat necessary because many of the ways that credentials are stored (i.e. JDBC, LDAP, etc) do not have reactive implementations. What's more is it is generally considered best practice to store passwords in a hash that is intentionally slow which would block ever request from coming in unless it was put on another thread.- Since:
- 5.0
-
-
Constructor Summary
Constructors Constructor Description ReactiveAuthenticationManagerAdapter(AuthenticationManager authenticationManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description reactor.core.publisher.Mono<Authentication>
authenticate(Authentication token)
Attempts to authenticate the providedAuthentication
void
setScheduler(reactor.core.scheduler.Scheduler scheduler)
Set a scheduler that will be published on to perform the authentication logic.
-
-
-
Constructor Detail
-
ReactiveAuthenticationManagerAdapter
public ReactiveAuthenticationManagerAdapter(AuthenticationManager authenticationManager)
-
-
Method Detail
-
authenticate
public reactor.core.publisher.Mono<Authentication> authenticate(Authentication token)
Description copied from interface:ReactiveAuthenticationManager
Attempts to authenticate the providedAuthentication
- Specified by:
authenticate
in interfaceReactiveAuthenticationManager
- Parameters:
token
- 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.
-
setScheduler
public void setScheduler(reactor.core.scheduler.Scheduler scheduler)
Set a scheduler that will be published on to perform the authentication logic.- Parameters:
scheduler
- a scheduler to be published on- Throws:
java.lang.IllegalArgumentException
- if the scheduler isnull
-
-