OAuth HTTP エラー レスポンス リファレンス

このトピックでは、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"}}}