2012-09-15 3 views
1

내 안드로이드 앱에서 flickr.com의 사용자를 인증하기 위해 Oauth 서명을 생성하려고합니다.Oauth 서명이 생성되지 않음

flickr.com의 기사에 따르면 서명을 받기 위해 서명 요청을 보내야합니다. flickr.com 안내 페이지에 하이퍼 링크는 다음과 같습니다

http://www.flickr.com/services/oauth/request_token 
?oauth_nonce=89601180 
&oauth_timestamp=1305583298 
&oauth_consumer_key=653e7a6ecc1d528c516cc8f92cf98611 
&oauth_signature_method=HMAC-SHA1 
&oauth_version=1.0 
&oauth_callback=http%3A%2F%2Fwww.example.com 
: 포스트에 따르면

http://www.flickr.com/services/api/auth.oauth.html#request_token

, 나는 서명 키를 받기 위해 플리커 서버에이 같은 요청을 보내야합니다

위의 형식으로 내 앱에서 요청을 보냈지 만받은 모든 정보는 oauth_problem = parameter_absent & oauth_parameter_absent = oauth_signature이라는 오류입니다.

내 요청 코드는 다음과 같습니다

HttpGet get = new HttpGet("http://www.flickr.com/services/oauth/request_token?oauth_nonce="+nonce+"&oauth_timestamp="+ts+"&oauth_consumer_key=****&oauth_signature_method=HMAC-SHA1&oauth_version=1.0"); 

사실 문제가 내가 서명 요청하고이를 통해 URL이 잘못된 방식으로 반응하고 있다는 것이다. 서명을 반환해야하는 곳, 서명을 요구하는 곳.

답변

1

서명 단계가 필요하지 않습니다. 지금까지 가지고있는 URI를 가져 와서 설명서에 표시된대로 기본 문자열로 변환합니다 (부품을 인코딩하는 URL 등). HMAC-SHA1 알고리즘 마녀를 사용하면 keydata의 2 가지 매개 변수가 사용됩니다.

는 '&'으로 구분하여 소비자 비밀 및 토큰 비밀의 연결된 값입니다 data로하고 key 기본 문자열을 사용합니다.

다시 알고리즘에서 얻는 값은 (서명)은 다음 다음 토큰을 요청할 수 있습니다 새로운 URI를 사용

&oauth_signature={ALGORITHM_OUTPUT} 

로 URI에 추가됩니다.

너무 많은 작업이라고 생각되면 Java OAuth 라이브러리 (예 : scribe-java.

관련 문제