2012-05-11 17 views
1

サードパーティのリモートAPIにRESTfulにアクセスし、oAuthが必要なプロジェクトの仕様があります。仕様には次のテキストが含まれています。RESTリクエストでoAuthパラメータを渡す

APIにアクセスするには、OAuthプロトコルを使用する必要があります。 A 組織ごとの共有秘密/アクセスキーの組み合わせにより、 の不正なアクセスが防止されます。サービスエンドポイント は組織を識別するため、 が、REST要求をカプセル化するOAuthヘッダーに渡されることは想定されていません。このうち

、私は完全に次のことを理解していない:

サービスエンドポイント が組織を識別するので、他のパラメータは、RESTをカプセル化するOAuthのヘッダーで を渡されることを期待されていません要求。

答えて

5

oauth_*パラメータは、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 
関連する問題