2017-11-20 12 views
0

분석을 위해 Snoobi api에 액세스해야합니다. 그들은 Oauth1을 통해 Snoobi API를 인증하기 위해 다른 단계를 제공합니다. 그들은 enter image description here Snoobi 인증을위한 첫 번째 요청을 두 개의 API가 호출 https://api.snoobi.com/oauth/requesttoken?oauth_callback= 및 요청 URL을 얻을 수 있습니다. 두 번째 요청 인 경우 https://api.snoobi.com/oauth/accesstoken은 return invlid_signature입니다. 이 문제를 해결할 수 없습니다 .... 내 샘플 사이트는 Sample site이며 이러한 인증은 DDO oauth1 라이브러리에서 수행했습니다. 인증 단계는 다음과 같습니다. 1 단계 :oauth1 나머지 API 인증을 시도 할 때 Invalide_signature 오류

https://api.snoobi.com/oauth/requesttoken 

요청이 URL에 HTTP의 POST와 함께 구성되어 있습니다 :

https://api.snoobi.com/oauth/requesttoken?oauth_callback=<your application callback, URL encoded> 

인증 헤더 의 OAuth 매개 변수가 전송되는 토큰 에서 Snoobi API에 대한 요청 토큰 엔드 포인트가 요청 in HTTP 권한 부여 헤더

필드 값 oauth_consumer_key 응용 프로그램 소비자 키 (40 자) oauth_nonce Rand ASCII 형식의 생성 된 문자열. 동일한 nonce 및 timestamp 조합을 가진 후속 요청은 무시됩니다. 권장 사항은 64 비트 난수를 사용하는 것입니다. oauth_signature 요청 서명 oauth_signature_method HMAC-SHA1 "또는"PLAINTEXT oauth_timestamp 유닉스 타임 스탬프 oauth_version 1.0

예 인증 헤더 (가독성을 위해 추가 된 줄 바꿈) : 성공적인 요청/OAuth를/requesttoken 반환에

Authorization: OAuth oauth_consumer_key=”2cab9166c5180256f4788a7669c181c84bec61ee”\,oauth_signature_method=”HMAC-SHA1″,\oauth_nonce=”7524122124ddba21d644043.98235934″\ 
,oauth_timestamp=”1306239517″,\ 
oauth_version=”1.0″,\ 
oauth_signature=”kP6LwV%2FJfs9YcG4irDJuoP271uU%3D” 

요구 토큰과 토큰의 비밀 이들은 각각 "oauth_token"및 "oauth_token_secret"매개 변수에 들어 있습니다. 또한 authentification url은 응답 매개 변수 "authentification_url"에 제공됩니다. URL은 https://api.snoobi.com/oauthgrant.php과 유사하며 애플리케이션에서 사용자의 브라우저를이 주소로 리디렉션해야합니다. Snoobi에 아직 로그인하지 않은 사용자는 Snoobi에 로그인해야합니다. 로그인 후 는, 사용자가 응용 프로그램에 대한 액세스 권한을 부여 할 수있는보기로 가져옵니다

Snoobi의 OAuth를 부여보기

사용자의 oauth_token 및 검증 추가로, 그가 당신의 콜백 URL로 리디렉션됩니다 부여 버튼을 클릭하면

http://youapp.com/callback.php?oauth_token=66393e59b10dddc112a8d1cbca9f9559d01127a1&verifier_token=051dd4f45b791957d8c12b83b9810365bbb50e63 

2 단계 : URL 매개 변수로 액세스 응용 프로그램이 요청 토큰이 비밀 및 검증 인수했다고 지금 토큰, 영구 액세스 토큰을 얻을 수있는 액세스 토큰 끝점을 호출 할 준비가되어 있습니다. 액세스 토큰 엔드 포인트는 다음과 같습니다

https://api.snoobi.com/oauth/accesstoken 

인증 귀하의 응용 프로그램을 고객 키 (40 개 문자) ASCII 형식으로 oauth_nonce 무작위로 생성 된 문자열 oauth_consumer_key 필드 값 를 헤더. 동일한 nonce 및 timestamp 조합을 가진 후속 요청은 무시됩니다. 권장 사항은 64 비트 난수를 사용하는 것입니다. oauth_timestamp 유닉스 타임 스탬프 oauth_version 1.의 oauth_token 및 oauth_token_secret : 요청 토큰 oauth_signature 서명 성공

Authorization: OAuth oauth_verifier=”ff17678750b3ca5b5263babee610bb9f47f7a1b6″,\oauth_consumer_key=”2cab9166c5180256f4788a7669c181c84bec61ee”,\oauth_signature_method=”HMAC-SHA1″,\ 
oauth_nonce=”2556773534ddb9f01d00518.41306989″,\ 
oauth_timestamp=”1306238721″,\ 
oauth_version=”1.0″,\ 
oauth_token=”f3a4eb25c1267f28d5de54e89a78db48f4d7ed30″,\ 
oauth_signature=”%2F9y%2BtMdCZk1uRYawXsfWHb%2BPmig%3D” 

에서, accesstoken 서비스 분야에서 토큰 및 비밀 액세스를 반환의 oauth_token 0 .

답변

0

인증 확인자가 양식 데이터를 변경하려고하면 액세스 권한이 부여됩니다. 나는 문서가 잘못되었다고 생각한다.