署名の作成
| HTTP Method | POST |
パラメータの収集
oauth_* パラメータを署名に含める必要があるため、それらも収集します。以下は、リクエストの認可 からのパラメータです。
| status | Hello Ladies + Gentlemen, a signed OAuth request! |
| include_entities | true |
| oauth_consumer_key | xvz1evFS4wEEPTGEFPHBog |
| oauth_nonce | kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg |
| oauth_signature_method | HMAC-SHA1 |
| oauth_timestamp | 1318622958 |
| oauth_token | 370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb |
| oauth_version | 1.0 |
- 署名対象となるすべてのキーと値を パーセントエンコード します。
- エンコード済みのキーでアルファベット順に [1] パラメータのリストをソートします [2]。
- 各キー/値ペアについて:
- エンコード済みキーを出力文字列の末尾に追加します。
- 文字 ‘=’ を出力文字列の末尾に追加します。
- エンコード済み値を出力文字列の末尾に追加します。
- まだ残りのキー/値ペアがある場合は、文字 ‘&’ を出力文字列の末尾に追加します。
| status | Hello Ladies + Gentlemen, a signed OAuth request! |
|---|---|
include_entities | true |
oauth_consumer_key | xvz1evFS4wEEPTGEFPHBog |
oauth_nonce | kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg |
oauth_signature_method | HMAC-SHA1 |
oauth_timestamp | 1318622958 |
oauth_token | 370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb |
oauth_version | 1.0 |
署名ベース文字列の作成
- HTTP メソッドを大文字に変換し、その値を出力文字列とします。
- 出力文字列に ‘&’ 文字を追加します。
- URL をパーセントエンコードし、出力文字列に追加します。
- 出力文字列に ‘&’ 文字を追加します。
- パラメーター文字列をパーセントエンコードし、出力文字列に追加します。
& 文字がちょうど 2 つだけ含まれている必要があります。パラメーター文字列内のパーセント % 文字は、signature base string 内では %25 にエンコードされている必要があります。
署名キーを取得する
| Consumer secret | kAcSOqF21Fu85e7zjz7ZN2U4ZRhfV3WpwPAoE3Z7kBw |
| OAuth token secret | LswwdoUaIvS8ltyTt5jkRh4J50vUPVVHtR2YPi5kE |
| Signing key | kAcSOqF21Fu85e7zjz7ZN2U4ZRhfV3WpwPAoE3Z7kBw&LswwdoUaIvS8ltyTt5jkRh4J50vUPVVHtR2YPi5kE |
シグネチャの計算
| OAuth signature | Ls93hJiZbQ3akF3HF3x1Bz8/zU4= |