2016-10-17 1 views
1

OAuth 확인자가 필요한 액세스 토큰을 얻으려고합니다. TokenSecretVerifierHolder 클래스를 사용하여 토큰, 토큰 비밀 및 검증자를 얻지 만 토큰의 값만 가져 오지만 토큰 비밀은 있지만 검증 자 값은 null입니다. 여기 내 코드가있다.OAuth 확인 자 값을 null로 가져 오기

public TokenSecretVerifierHolder getRequestToken() { 
     try { 
      OAuthAccessor accessor = getAccessor(); 
      OAuthClient oAuthClient = new OAuthClient(new HttpClient4()); 
      List<OAuth.Parameter> callBack; 
      if ((this.callback == null) || ("".equals(this.callback))) { 
       callBack = Collections.emptyList(); 
      } else { 
       callBack = ImmutableList.of(new OAuth.Parameter("oauth_callback", this.callback)); 
      } 
      OAuthMessage message = oAuthClient.getRequestTokenResponse(accessor, "POST", callBack); 
      TokenSecretVerifierHolder tokenSecretVerifier = new TokenSecretVerifierHolder(); 
      tokenSecretVerifier.token = accessor.requestToken; 
      tokenSecretVerifier.secret = accessor.tokenSecret; 
      tokenSecretVerifier.verifier = message.getParameter("oauth_verifier"); 
      return tokenSecretVerifier; 
     } catch (Exception e) { 
      throw new RuntimeException("Failed to obtain request token", e); 
     } 
    } 

private String getAccessToken() { 

    AtlassianOAuthClientRequest jiraoAuthClient = getJiraOAuthClient(); 
    TokenSecretVerifierHolder requestToken = jiraoAuthClient.getRequestToken(); 
    String authorizeUrl = jiraoAuthClient.getAuthorizeUrlForToken(requestToken.token); 

    String token = requestToken.token; 
    String tokenSecret = requestToken.secret; 
    String verifier = requestToken.verifier; 

    String accessToken = jiraoAuthClient.swapRequestTokenForAccessToken(token, tokenSecret, verifier); 
    String verifier = requestToken.verifier; 
    System.out.println("Access token is : " + accessToken); 
    return accessToken; 
} 

토큰의 값을 회수 한 후 토큰 비밀 및 확인 프로그램을 전달하여 액세스 토큰 값을 가져옵니다. 내가 원하는 것은 authorizeUrl을 인정한 후에 Oauth 검증 자의 가치를 돌려 주어야한다는 것이다. 내 경우에는 null로 반환합니다.

답변

0

HTTP가 콜백 URL로 리디렉션되는 동안 확인 프로그램의 필수 값이 반환됩니다. https://consumer.url/?oauth_token=TOKEN&oauth_verifier=VERIFIER과 같은 URL로 리디렉션이 발생하므로 oauth_verifier 매개 변수 값이 필요한 것입니다.

관련 문제