2014-11-08 3 views
0

현재 내 Oauth2RestTemplate을 컨트롤러로 구성하는 시점에 있습니다. 컨트롤러는 ResourceOwnerPasswordResourceDetails에 설정할 사용자의 사용자 이름과 암호를 수신하지만이 설정 방법이 표시되지 않습니다. 이 응용 프로그램은 Oauth2 클라이언트 설정입니다.ResourceOwnerPasswordResourceDetails with 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'속성이 있습니다. 이 시점에서 나는 OAuth2RestTemplate loginCredentialRest에 LoginCredential의 객체 속성을 전달하는 것이 쉬울 것이라고 생각했지만 그럴 수는 없습니다.

또한 액세스 토큰 끝점 (accessTokenUri)을 사용하여 ResourceOwnerPasswordResourceDetails를 구성하고 기본적으로이 개체를 Oauth2RestTemplate에 연결했습니다. 액세스 토큰에 대해 "username", "password"및 "token"을 제공하는 액세스 토큰 끝점에 요청하는 방법은 무엇입니까?

답변

0

자세한 내용은 유스 케이스에 대한 필요성을 잘 모르겠지만, OAuth 2.0.4에서는 AccessTokenProvider을 호출하기 전에 AccessTokenRequest에 사용자 자격증 명을 추가 할 수 있습니다 (즉, OAuth2RestTemplate을 사용하지 않을 때까지). 액세스 토큰이 있어야 함).