true

一時credentials (OAuth)

[11] 一時 (temporary) credentialsは、 OAuth 1.0 の認可の過程においてクライアントからのアクセス要求を識別するものです。 一時 (temporary) credentials要求 (request) は、 クライアントが鯖から一時credentialsを取得するための HTTP要求です。

仕様書

用語

[2] temporary credentials のことを元は request token および request token secret と呼んでいました >>1。

一時 credentials

[5] temporary credentials は、認可の間クライアントからのアクセス要求を識別するために使います >>3。 temporary credentials は、識別子 (identifier) と共有秘密 (shared-secret) の2つの値の組によって表されます。

[24] 2つの値の値域や長さは、仕様上は制限がありません。多くの場合は十数文字程度の ASCII文字で、あまり記号は含まない方が安全です。 (しかしクライアントは任意の値を受け入れる必要があります。)

[4] temporary credentials は、temporary credentials要求によって鯖からクライアントに発行されます。

[6] temporary credentials は、資源所有者認可においてアクセス要求を識別するために使います。

[7] temporary credentials は、トークン要求においてクライアントが鯖からtoken credentialsを得るために使います。

[8] 鯖は、token credentialsを得るために temporary credentials が使われた後、temporary credentials を取り消し (revoke) しなければなりません >>3。

[9] temporary credentials の寿命は限定するべきです >>3。

一時 credentials 要求

[12] クライアントは、 一時credentials要求 (temporary credentials request) によって鯖から一時credentialsを得ることができます。

[14] クライアントは、鯖から何らかの方法で広告されたエンドポイントの URL を要求URLとして使います >>10。

以降で示す通り、引数が追加されることもあります。

[18] 鯖は保安通信路を使うことを要求しなければなりません >>10。

[19] HTTP応答に平文の credentials が含まれることになるからです >>10。

[13] クライアントは、要求メソッドとして POST を使います。 >>10

[25] 一時credentials要求は、認証された要求です >>10。

[15] クライアントは oauth_callback 引数を指定しなければなりません >>10。

[35] クライアントは oauth_body_hash 引数を指定するべきではありません >>34。

[17] クライアントは、クライアントcredentialsのみ使って認証します。 トークンcredentialsは使いません。 空の oauth_token 引数は省略しても構いません。 token secret の値は空文字列としなければなりません。 >>10

[18] oauth_token は空文字列または省略のどちらでも良いようですが、 仕様上不明瞭であり、省略しか認めないサーバーもあるようです。

[16] 鯖はその他の引数を求めても構いません。 >>10

[20] 鯖は要求を検証 (verify) し、 妥当であるなら一時credentials (識別子と共有秘密) を応答しなければなりません >>10。

[21] 一時credentialsを送る場合、状態符号は 200 で、 MIME型は application/x-www-form-urlencoded とします >>10。 そこには、次の引数を含めなければなりません >>10。

payload body (application/x-www-form-urlencoded)

oauth_token
一時credentialsの識別子 (identifier) とします。
oauth_token_secret
一時credentialsの共有秘密 (shared-secret) とします。
oauth_callback_confirmed
true とします。

[22] oauth_callback_confirmed は、 OAuth 1.0 の最初の版と区別するためのものです。
[23] RFC 5849 には、「token と名前に含まれるがトークンではない」 との注記があります。元々「要求トークン」と呼ばれていた (>>2) のに IETF が後から用語だけ変えてしまったせいでおかしなことになっています。
[195] Twitter の鯖は application/x-www-form-urlencoded を使いながらも、 Content-Type: には text/html を指定します。このためクライアントは Content-Type: ヘッダーを無視しなければなりません。

[31] OAuth 1.0 本体仕様としてはエラー時の応答については規定していません。 OAuth Problem Reporting Extension は報告方法を規定しており、 実装によってはこれに対応しています。

歴史

[36] OAuth 2.0 では一時credentialsに相当するものはなくなっています。