2012-05-11 5 views
1

타사 원격 API에 RESTful으로 액세스하고 oAuth가 필요한 프로젝트 사양이 있습니다. 사양에는 다음 텍스트가 포함됩니다.REST 요청시 oAuth 매개 변수 전달

API에 액세스하려면 OAuth 프로토콜을 사용해야합니다. A 조직마다 공유 된 비밀/액세스 키 조합을 사용하면 에서 권한이없는 사용자가 액세스 할 수 없습니다. 서비스 끝점 이 조직을 식별하기 때문에 다른 매개 변수는 REST 요청을 캡슐화하는 OAuth 헤더로 전달 된 이 될 것으로 예상되지 않습니다. 서비스 엔드 포인트 조직을 식별

때문에, 다른 매개 변수가 REST를 캡슐화 그 OAuth를 헤더에 전달 것으로 예상되는이의

, 나는 완전히 다음을 이해하지 못하는 의뢰.

답변

5

매개 변수는 Authorization 헤더 또는 URL 매개 변수로 전달할 수 있습니다. Authorization 헤더에 oauth_* 값을 전달하면 헤더에 다른 값을 포함하지 않고 그 인용문을 의미대로 읽습니다. 헤더로

의 OAuth PARAMS : URL에

GET /initiate?foo=bar HTTP/1.1 
Host: photos.example.net 
Authorization: OAuth realm="Photos", 
    oauth_consumer_key="dpf43f3p2l4k3l03", 
    oauth_signature_method="HMAC-SHA1", 
    oauth_timestamp="137131200", 
    oauth_nonce="wIjqoS", 
    oauth_callback="http%3A%2F%2Fprinter.example.com%2Fready", 
    oauth_signature="74KNZJeDHnMBp0EMJ9ZHt%2FXKycU%3D" 

의 OAuth PARAMS :

GET /initiate?foo=bar&oauth_consumer_key=dpf43f3p2l4k3l03&oauth_signature_method=HMAC-SHA1&oauth_timestamp=137131200&oauth_nonce=wIjqoS&oauth_callback=http%3A%2F%2Fprinter.example.com%2Fready&oauth_signature=74KNZJeDHnMBp0EMJ9ZHt%2FXKycU%3D HTTP/1.1 
Host: photos.example.net