problems injecting custom userDetailsService in Spring Security OAuth2

前端 未结 3 891
爱一瞬间的悲伤
爱一瞬间的悲伤 2021-01-22 05:33

I am using Spring Security OAuth2 2.0.7.RELEASE. As i am using ORM to connect to my database and default JdbcUserDetailsManager uses jdbc i wanted to implement my own UserDetail

3条回答
  •  独厮守ぢ
    2021-01-22 06:25

    In 2.0.7 when you do a POST/GET request on /oauth/token with grant type as password, it will actually except a ClientDetailsUserDetailsService but not UserDetailsService.

    I had similar issue and this is how I solved it :

    public class AppClientDetailsUserDetailsService extends ClientDetailsUserDetailsService {
        public AppClientDetailsUserDetailsService(ClientDetailsService clientDetailsService) {
            super(clientDetailsService);
        }
    }
    
    
    public class AppConsumerDetailsService implements ClientDetailsService {
    
         public ClientDetails loadClientByClientId(String clientId)
                throws OAuth2Exception {
               //some logic
         }
    }
    
    
            
            
            
            
    
    
    
    
          
        
    

    authenticationManager is the bean for AppClientDetailsUserDetailsService whose constructor argument is AppConsumerDetailsService.

提交回复
热议问题