error code

error 引数 (OAuth 2.0)

[3] error 引数は、誤り符号を表します >>1, >>19, >>20

仕様書

構文

[12] U+0020 を含み、 U+0022U+005C を含まない印字可能ASCII文字しか含んではなりません >>1, >>19, >>20, >>22, >>13, >>14, >>17空文字列にはできません >>14

誤り符号の一覧

[4] 誤り符号 (error code) は、次のいずれかとされています。

[5] invalid_request
必須の引数が指定されなかった >>1, >>19, >>20, >>17, >>33 か、 非妥当引数値が指定された >>1, >>19, >>20, >>17, >>33 か、 引数が複数回指定された >>1, >>19, >>20, >>17, >>33 か、 アクセストークンが複数の方法で指定された >>17 か、 その他不正があった >>1, >>19, >>20, >>17, >>33 ことを表します。 状態符号 400 を使うべきです >>17
[21] invalid_client
クライアント認証が失敗したことを表します。 (状態符号 401 を使うことができます。トークンエンドポイント参照。) >>20, >>33 400 を使った例 >>45 も示されています。
[22] invalid_grant
指定された認可承諾 (認可符号資源所有者credentialsなど) や更新トークン非妥当満期、 取り消し (revoke) 済み、 リダイレクトURLが一致しない、 あるいは他のクライアントに向けたものであることを表します。 >>20, >>33 assertion が非妥当な時にも使います >>44
[26] invalid_token
指定されたアクセストークン満期している、取り消し (revoke) されている、 不正である、あるいはその他非妥当であることを表します >>17状態符号 401 を使うべきです >>17クライアントは新しいアクセストークンを使って再試行して構いません >>17
[6] unauthorized_client
クライアント認可符号またはアクセストークンを要求することを認可されていない >>1, >>19、 あるいは当該承諾型を使うことを認められていない >>20, >>33 ことを表します。
[23] unsupported_grant_type
認可鯖が指定された承諾型に対応していないことを表します >>20, >>33
[7] access_denied
資源所有者または認可鯖が要求を拒絶したことを表します。 >>1, >>19
[8] unsupported_response_type
認可鯖認可符号またはアクセストークンの取得に対応していないことを表します。 >>1, >>19
[34] unsupported_token_type
指定されたトークンの種別の revoke に対応していないことを表します >>33
[9] invalid_scope
要求された適用範囲非妥当か、未知か、不正であることを表します。 >>1, >>19, >>20, >>33
[27] insufficient_scope
要求にはアクセストークンが有するより高い特権が必要であることを表します。 状態符号 403 を使うべきですscope 引数を含めて構いません。 >>17
[10] server_error
認可鯖が未知の状況により要求を満足できないことを表します。 HTTP 500 状態符号に相当します。 >>1, >>19
[11] temporarily_unavailable
認可鯖が一時的な過負荷やメンテナンスのため要求を処理できないことを表します。 HTTP 503 状態符号に相当します。 >>1, >>19
interaction_required
>>35, >>39
login_required
>>35
account_selection_required
>>35
consent_required
>>35
invalid_request_uri
>>35, >>36
invalid_request_object
>>35
request_not_supported
>>35
request_uri_not_supported
>>35
registration_not_supported
>>35
invalid_client_metadata
>>36
authorization_pending
>>37
slow_down
>>37
invalid_resource
>>38, >>39, >>40
insufficient_access
>>40
application_suspended
>>43
redirect_uri_mismatch
>>43
incorrect_client_credentials
>>43
bad_verification_code
>>43

[29] OAuth の拡張は追加の誤り符号を定義できます。 登録されたアクセストークン型引数 (OAuth 2.0)承諾型が使う拡張の誤り符号は、 IANA登録簿 >>30 に登録 >>13 しなければなりません。 未登録の拡張の誤り符号も登録できます。 誤り符号はできるだけ拡張機能の名前で example_invalid のように修飾するべきです>>28

[31] なぜか他の引数とは違って、 RFC で規定されている誤り符号IANA登録簿に含まれておらず、拡張のみ登録する形となっています。 ただし RFC で規定されている誤り符号と同名のものが拡張で使われる時、 そちらを出典に IANA登録簿に登録されるようです。 (なんでそんな中途半端なことを...)

[42] ヤマレコは、 0 (エラーなし) または 1 (エラーあり) を使います >>41

文脈

[2] 認可エンドポイントからのリダイレクトによって誤りを通知する場合、 error 引数を指定しなければなりません。 >>1, >>19

URL query に指定する場合 >>1素片識別子に指定する場合 >>19 があります。

[24] トークンエンドポイントrevokeエンドポイントからの JSON 応答によって誤りを通知する場合、 error 引数を指定しなければなりません。 >>20, >>33

[25] アクセストークンを指定するために使う auth-scheme は、 誤りの報告に error 引数を使うことができます。

資源鯖参照。

[18] 資源鯖は、資源鯖への要求がアクセストークンを含んでいて、 認証に失敗した場合、 error 引数WWW-Authenticate: Bearer に含めるべきです >>17

[32] ただしクライアント認証に必要な情報を要求に含めていない場合 (アクセストークンが含まれていない場合や未対応の認証方式の場合など) は、 error その他の誤りに関する情報を含めるべきではありません >>17

関連

[15] 併用する引数として error_description, error_uri があります。

[46] Manually Build a Login Flow - Facebook Login ( 版) <https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow>

Cancelled login

If people using your app don't accept the Login dialog and clicks Cancel, they'll be redirected to the following:

YOUR_REDIRECT_URI?

error_reason=user_denied

&error=access_denied

&error_description=The+user+denied+your+request.

[47] Micropub () <https://micropub.net/draft/#h-error-response>