2014-11-08 2 views
0

Я сейчас нахожусь в точке, где я настраиваю свой Oauth2RestTemplate с помощью моего контроллера. Указанный контроллер получит имя пользователя и пароль пользователя, которые будут установлены в ResourceOwnerPasswordResourceDetails, однако я не вижу, как это установлено. Это приложение предназначено для настройки клиента Oauth2.ResourceOwnerPasswordResourceDetails с Oauth2RestTemplate, установка имени пользователя и пароля

//An extention of ResourceOwnerPasswordResourceDetails that adds a property 'token'. 

<bean id="cPassword" class="com.cointraders.site.overrides.TokenOauthResourceDetails"> 
    <property name="grantType" value="c_password"></property> 
    <property name="clientAuthenticationScheme" value="header"></property> 
    <property name="clientId" value="cointraders"></property> 
    <property name="clientSecret" value="[email protected]"></property> 
    <property name="accessTokenUri" value="${oauth.accessTokenUri}"></property> 
</bean> 

//My controller using the 'cPassword' bean above 

<bean id="loginController" class="com.cointraders.site.controllers.LoginController"> 
    <property name="checkCredentialRest"> 
     <oauth:rest-template resource="cPassword"> 
     </oauth:rest-template> 
    </property> 
</bean> 

//My Controller 

@RequestMapping(value="/login") 
public class LoginController { 

    private OAuth2RestTemplate checkCredentialRest; 

    private OAuth2RestTemplate loginCredentialRest; 

    public void setCheckCredentialRest(OAuth2RestTemplate checkCredentialRest) { 
      this.checkCredentialRest = checkCredentialRest; 
    } 

    public void setLoginCredentialRest(OAuth2RestTemplate loginCredentialRest) { 
      this.loginCredentialRest = loginCredentialRest; 
    } 

    @RequestMapping(method=RequestMethod.POST) 
    @ResponseStatus(value=HttpStatus.OK) 
    public void verifyCredential(@RequestBody LoginCredential creds) 
    { 

    } 
} 

Как видно, из моего «verifyCredential» Я передаю полномочия, отображенные на DataMapper LoginCredential. Этот класс имеет свойства для «username», «password» и «token» для пользователя. На данный момент, я выбрал, было бы легко передать свойства объекта LoginCredential в OAuth2RestTemplate loginCredentialRest, но это не так.

Также я настроил ResourceOwnerPasswordResourceDetails с конечной точкой доступа к токенам (accessTokenUri) и в основном подключил этот объект к Oauth2RestTemplate. Как я могу использовать его, чтобы сделать запрос к конечной точке доступа к токену, предоставляющей «имя пользователя», «пароль» и «токен» для токена доступа?

ответ

0

Я не совсем уверен, что я понимаю, потребность в этом или в вашем случае использования в любых деталях, но в Spring OAuth 2.0.4 вы можете добавить пользовательские учетные данные AccessTokenRequest перед вызовом AccessTokenProvider (т.е. не используя OAuth2RestTemplate до у вас есть токен доступа, чтобы дать ему).

Смежные вопросы