2013-09-06 1 views
2

Я пытаюсь настроить сервер 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.

ответ

0

разрешено путем изменения версии spring-security-oauth2 с 1.9.5.RELEASE до 1.1.0.BUILD-SNAPSHOT.