I'm using Spring Boot OAuth Authorization Server (old stack) and implementing my own versions of ClientDetailsService
and UserDetailsService
, using Oauth2 password
flow.
Our JpaClientDetailsService
implements loadClientByClientId
and returns a ClientDetails
, with the details of the client that is being authenticated.
@Service
public class JpaClientDetailsService implements ClientDetailsService {
@Override
public ClientDetails loadClientByClientId(String clientId) throws ClientRegistrationException {
BaseClientDetails baseClientDetails = new BaseClientDetails(...);
//do processing....
return baseClientDetails;
}
}
After that, the method loadUserByUsername
of our implementation of JpaUserDetailsService
is called, receiving the username of user that is trying to authenticate:
@Service
public class JpaUserDetailsService implements UserDetailsService {
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
return null;
}
}
My question is:
How could I access the current ClientDetails
, returned by JpaClientDetailsService.loadClientByClientId
inside JpaUserDetailsService.loadUserByUsername
?
Thanks!