state

state 引数 (OAuth)

[19] state 引数は、 CSRF 対策のために状態を表す値を指定するものです。

仕様書

意味

[3] state 引数の値は、クライアントが要求とコールバックとの間で状態 (state) を維持するために使う不透明な値です。 >>1, >>8

[5] この引数は、 CSRF 対策のために使うべきです >>1, >>8。

[12] state 引数の値には、クライアントや資源所有者の繊細な情報を平文で含めるべきではありません >>11。

構文

[17] この引数の値は、1文字以上の印字可能ASCII文字の列です >>16。

文脈

[2] 認可符号やアクセストークンを取得するための認可エンドポイント (に資源所有者にアクセスさせるためのクライアントから資源所有者への応答で示すリダイレクトURL) では、 state 引数を指定するべきです >>1, >>8。

[4] 認可鯖は資源所有者 (の利用者エージェント) をクライアントへとリダイレクトして戻す時に、 リダイレクトURLに state 引数で同じ値を (あれば) 指定しなければなりません >>1, >>6, >>7, >>8, >>9, >>10。

[14] クライアントは CSRF 対策を実装しなければなりません。 一般的にはリダイレクトURLに認証状態を表す値を含める方法が採られますが、 その値の指定には state 引数を使うべきです。 >>13

[15] CSRF 対策に使う値は推測できないものでなければなりません。 攻撃者が推測できる確率は 2-128 以下でなければならず、 2-160 以下であるべきです。 >>13