このトピックでは、Apigee Edge の OAuth ポリシーエラーで返される HTTP ステータス コードと関連する理由フレーズについて説明します。
エラーの処理方法については、障害の処理をご覧ください。
ポリシー固有のエラーコードについては、以下をご覧ください。
認可コード
リダイレクト URI が無効
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"Invalid redirection uri http://www.invalid_example.com"}
リダイレクト URI が指定されていない
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"Redirection URI is required"}
キーが無効
HTTP/1.1 401 Unauthorized {"ErrorCode" : "invalid_request", "Error" :"Invalid client id : AVD7ztXReEYyjpLFkkPiZpLEjeF2aYAz. ClientId is Invalid"}
キーが指定されていない
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"The request is missing a required parameter : client_id"}
レスポンス タイプが無効
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"Response type must be code"}
レスポンス タイプが指定されていない
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"The request is missing a required parameter : response_type"}
アクセス トークンの生成
認可コードが無効
HTTP status: 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"Invalid Authorization Code"}
リダイレクト URI が指定されていない
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"Required param : redirect_uri"}
リダイレクト URI が無効
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"Invalid redirect_uri : oob"}
GenerateResponse が false で、クライアント ID が無効
このエラーは、<GenerateResponse>
プロパティが false に設定され、クライアントの認証情報が無効な場合に返されます。
{ "fault": { "faultstring": "Invalid client identifier {0}", "detail": { "errorcode": "oauth.v2.InvalidClientIdentifier" } } }
GenerateResponse が true で、クライアント ID が無効
このエラーは、<GenerateResponse>
プロパティが true に設定され、クライアントの認証情報が無効な場合に返されます。
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}
GrantType が無効
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"Unsupported grant type : client_credentials_invalid"}
ユーザー名が指定されていない
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"Required param : username"}
パスワードが指定されていない
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"Required param : password"}
GrantType が設定されていない(カスタム ポリシー)
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"Required param : grant_type"}
認可コードが指定されていない
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"Required param : code"}
暗黙
クライアント ID が無効
HTTP/1.1 401 Unauthorized {"ErrorCode" : "invalid_request", "Error" :"Invalid client id : AVD7ztXReEYyjpLFkkPiZpLEjeF2aYAz. ClientId is Invalid"}
クライアント ID が指定されていない
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"The request is missing a required parameter : client_id"}
レスポンス タイプが無効
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"Response type must be token"}
レスポンス タイプが指定されていない
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"The request is missing a required parameter : response_type"}
リダイレクト URI が無効
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"Invalid redirection uri http://www.invalid_example.com"}
リダイレクト URI が指定されていない
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"Redirection URI is required"}
リフレッシュ トークン
リフレッシュ トークンが無効
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"Invalid Refresh Token"}
リフレッシュ トークンが期限切れ
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"Refresh Token expired"}
スコープが無効
HTTP/1.1 400 Bad Request {"ErrorCode" : "invalid_request", "Error" :"Invalid Scope"}
GenerateResponse が false で、クライアント ID が無効
このエラーは、GenerateResponse プロパティが false に設定され、クライアントの認証情報が無効な場合に返されます。
{ "fault": { "faultstring": "Invalid client identifier {0}", "detail": { "errorcode": "oauth.v2.InvalidClientIdentifier" } } }
GenerateResponse が true で、クライアント ID が無効
このエラーは、GenerateResponse プロパティが true に設定され、クライアントの認証情報が無効な場合に返されます。
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}
アクセス トークンの検証
アクセス トークンが無効
HTTP/1.1 401 Unauthorized {"fault":{"faultstring":"Invalid Access Token","detail":{"errorcode":"keymanagement.service.invalid_access_token"}}}
リソースが無効
HTTP/1.1 401 Unauthorized {"fault":{"faultstring":"APIResource \/facebook\/acer does not exist","detail":{"errorcode":"keymanagement.service.apiresource_doesnot_exist"}}}
スコープが無効
HTTP/1.1 403 Forbidden {"fault":{"faultstring":"Required scope(s) : VerifyAccessToken.scopeSet","detail":{"errorcode":"steps.oauth.v2.InsufficientScope"}}}
認可ヘッダーがない
HTTP/1.1 401 Unauthorized {"fault":{"faultstring":"Invalid access token","detail":{"errorcode":"oauth.v2.InvalidAccessToken"}}}
一致する ApiProduct がない(環境 / プロキシが構成されている場合)
HTTP/1.1 401 Unauthorized {"fault":{"faultstring":"Invalid API call as no apiproduct match found","detail":{"errorcode":"keymanagement.service.InvalidAPICallAsNoApiProductMatchFound"}}}
アクセス トークンの期限切れ
HTTP/1.1 401 Unauthorized {"fault":{"faultstring":"Access Token expired","detail":{"errorcode":"keymanagement.service.access_token_expired"}}}
アクセス トークンの取り消し
HTTP/1.1 401 Unauthorized {"fault":{"faultstring":"Access Token not approved","detail":{"errorcode":"keymanagement.service.access_token_not_approved"}}}
OAuth V2 情報の取得
リフレッシュ トークンが無効
HTTP/1.1 404 Not Found {"fault::{"detail":{"errorcode":"keymanagement.service.invalid_refresh_token"},"faultstring":"Invalid Refresh Token"}}
アクセス トークンが無効
HTTP/1.1 404 Not Found { "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
アクセス トークンが期限切れ
HTTP/1.1 500 Not Found { "fault": { "faultstring": "Access Token expired", "detail": { "errorcode": "keymanagement.service.access_token_expired" } } }
リフレッシュ トークンが期限切れ
HTTP/1.1 500 Not Found { "fault": { "faultstring": "Refresh Token expired", "detail": { "errorcode": "keymanagement.service.refresh_token_expired" } } }
クライアント ID が無効
HTTP/1.1 404 Not Found { "fault": { "faultstring": "Invalid Client Id", "detail": { "errorcode": "keymanagement.service.invalid_client-invalid_client_id" } } }
認可コードが無効
HTTP/1.1 404 Not Found { "fault": { "faultstring": "Invalid Authorization Code", "detail": { "errorcode": "keymanagement.service.invalid_request-authorization_code_invalid" } } }
認可コードが期限切れ
HTTP/1.1 500 Not Found { "fault": { "faultstring": "Authorization Code expired", "detail": { "errorcode": "keymanagement.service.authorization_code_expired" } } }
OAuth V2 情報の設定
アクセス トークンが無効
HTTP/1.1 404 Not Found { "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
アクセス トークンが期限切れ
HTTP/1.1 500 Not Found { "fault": { "faultstring": "Access Token expired", "detail": { "errorcode": "keymanagement.service.access_token_expired" } } }
OAuth V2 情報の削除
成功すると、ポリシーは 200 ステータスを返します。
失敗すると、ポリシーは 404 と次のような出力を返します(削除するのがアクセス トークンか認証コードかによって出力が異なります)。
HTTP/1.1 404 Not Found Content-Type: application/json Content-Length: 144 Connection: keep-alive {"fault":{"faultstring":"Invalid Authorization Code","detail":{"errorcode":"keymanagement.service.invalid_request-authorization_code_invalid"}}}