Я пытаюсь настроить сервер OAuth 2, следуя примеру весны sparklr2. Я изменил его, чтобы использовать базу данных userDetailsService. При попытке обменять маркер с паролем с завитком, как показано ниже:String oauth 2 Поток владельца ресурса - имя пользователя и идентификатор клиента заменены
curl -X POST -d "client_id=client1&client_secret=123456&grant_type=password&username=user1&password=abc" http://mymachine:8080/oauth/token
Он потерпел неудачу на погрузочном пользователь findByUsername(), когда я смотрю в код, он использует клиент-идентификатор (в моем случае это «client1 ') в качестве имени пользователя. стек вызовов: DaoAuthenticationProvider.retrieveUser (String, UsernamePasswordAuthenticationToken) строка: 101
DaoAuthenticationProvider .authenticate линии (AbstractUserDetailsAuthenticationProvider) (Аутентификация): 132 ProviderManager.authenticate (Аутентификация) строка: 156
ClientCredentialsTokenEndpointFilter.attemptAuthentication (HttpServletRequest, HttpServletResponse) линия: 109
ClientCredentialsTokenEndpointFilter (AbstractAuthenticationProcessingFilter) .doFilter (ServletRequest, ServletResponse, FilterChain) линия: 211
Я попытался завиток на sparklr2,
curl -X POST -d "client_id=my-trusted-client&grant_type=password&username=marissa&password=koala" http://mymachine:8080/sparklr2/oauth/token
Это то же самое, «my-trusted-client» передается как имя пользователя. Но я не понял, почему он правильно возвращает маркер для sparklr2.