Class RememberMeUserDetailsServiceProvider
Spring's PersistentTokenBasedRememberMeServices implementation (and transitively our
BroadleafPersistentTokenRememberMeServices) requires a UserDetailsService be
available. Broadleaf's OAuth2UserDetailsService serves a similar purpose, but has
different input requirements, and therefore does not implement the UserDetailsService
contract itself.
Defining a UserDetailsService bean directly in the Spring context to satisfy the
PersistentTokenBasedRememberMeServices requirement could have unexpected side effects.
For example, it may activate dormant configuration elsewhere within Spring itself that is
conditional on such a bean being available. To avoid rocking the boat, we use this class to
internally hold an adapted UserDetailsService implementation that is passed to the
PersistentTokenBasedRememberMeServices. This ensures there is still no
UserDetailsService bean registered in the Spring context.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAUserDetailsServiceimplementation that internally delegates toOAuth2UserDetailsService. -
Constructor Summary
ConstructorsConstructorDescriptionRememberMeUserDetailsServiceProvider(OAuth2UserDetailsService oAuth2UserDetailsService, ContextHelperService contextHelperService) -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.security.core.userdetails.UserDetailsService
-
Constructor Details
-
RememberMeUserDetailsServiceProvider
public RememberMeUserDetailsServiceProvider(OAuth2UserDetailsService oAuth2UserDetailsService, ContextHelperService contextHelperService)
-
-
Method Details
-
getUserDetailsService
public org.springframework.security.core.userdetails.UserDetailsService getUserDetailsService()- Returns:
- a
UserDetailsServicethat can be passed toRememberMeServicesimplementations
-
getRememberMeUserDetailsService
protected RememberMeUserDetailsServiceProvider.RememberMeUserDetailsService getRememberMeUserDetailsService()
-