署名基底文字列

署名基底文字列 (HTTP)

[11] 署名基底文字列 (signature base string) は、 OAuth 1.0署名される対象となる文字列で、 要求メソッド対象URL要求引数が含まれています。

仕様書

定義

[2] 署名基底文字列 (signature base string) は、 HTTP要求から次の文字列を連結したものです >>1

  1. [3] 要求メソッド大文字にし、OAuth 1.0パーセント符号化したもの
  2. [4] &
  3. [5] 基底文字列URLOAuth 1.0パーセント符号化したもの
  4. [6] &
  5. [7] 要求引数正規化し、OAuth 1.0パーセント符号化したもの

[10] 要求メソッド大文字・小文字不区別ではありませんが、 一律で大文字化するようです。
[12] 基底文字列URLパーセント符号化が含まれていることがありますし、 要求引数も既にパーセント符号化したものですが、ここで更にもう一度パーセント符号化されます。

文脈

[9] 署名基底文字列は、 HMAC-SHA1RSA-SHA1署名の計算に用います。

[8] HTTP要求

POST /request?b5=%3D%253D&a3=a&c%40=&a2=r%20b HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth realm="Example",
               oauth_consumer_key="9djdj82h48djs9d2",
               oauth_token="kkk9d7dh3k39sjv7",
               oauth_signature_method="HMAC-SHA1",
               oauth_timestamp="137131201",
               oauth_nonce="7d8f3e4a",
               oauth_signature="bYT5CMsGcbgUdFHObYMEfcx6bsw%3D"

c2&a3=2+q

... の署名基底文字列は、

POST&http%3A%2F%2Fexample.com%2Frequest&a2%3Dr%2520b%26a3%3D2%2520q%26a3%3Da%26b5%3D%253D%25253D%26c%2540%3D%26c2%3D%26oauth_consumer_key%3D9djdj82h48djs9d2%26oauth_nonce%3D7d8f3e4a%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D137131201%26oauth_token%3Dkkk9d7dh3k39sjv7

... です >>1