HMAC-SHA1 署名方式では、クライアント共有秘密鍵「&」とトークン共有秘密鍵を連結して形成された鍵が必要です。
クライアントがまだリクエストトークンまたはアクセストークンを持っていない場合、トークン共有シークレットにどの値を使用する必要があるのだろうか。クライアント共有シークレットを再度使用するか、空のままにしておくか。
仕様から:
3.4.2. HMAC-SHA1
「HMAC-SHA1」署名方式は、[RFC2104] で定義されている HMAC-SHA1 署名アルゴリズムを使用します。
digest = HMAC-SHA1 (key, text)
HMAC-SHA1 関数変数は、次のように使用されます。
text は、セクション 3.4.1.1 の署名ベース文字列の値に設定されます。
キーは次の連結値に設定されます。
1. The client shared-secret, after being encoded (Section 3.6). 2. An "&" character (ASCII code 38), which MUST be included even when either secret is empty. 3. The token shared-secret, after being encoded (Section 3.6).
ダイジェストは、結果のオクテット文字列が [RFC2045] のセクション 6.8 に従って base64 でエンコードされた後、「oauth_signature」プロトコル パラメータの値を設定するために使用されます。
ありがとう