DeleteOAuthV2Info ポリシー

概要

指定された OAuth V2 認可コードまたはアクセス トークンを削除します。

サンプル

アクセス トークンの削除

以下に、OAuth 2.0 アクセス トークンを削除するポリシーの例を示します。この例では、リクエスト メッセージ上で削除するアクセス トークンを見つけるために、access_token という名前のヘッダーを検索します。

<DeleteOAuthV2Info name="DeleteAccessToken">
     <AccessToken ref="request.header.access_token"></AccessToken>
</DeleteOAuthV2Info>

認可コードの削除

以下に、OAuth 2.0 の認可コードを削除するポリシーの例を示します。この例では、リクエスト メッセージ上で認可コードを見つけるために、code という名前のクエリ パラメータを検索します。

<DeleteOAuthV2Info name="DeleteAuthCode">
     <AuthorizationCode ref="request.queryparam.code"></AuthorizationCode>
</DeleteOAuthV2Info>

要素リファレンス

この要素リファレンスでは、DeleteOAuthV2Info ポリシーの要素と属性について説明します。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DeleteOAuthV2Info async="false" continueOnError="false" enabled="true" name="DeleteOAuthV2Info-1">
    <DisplayName>Delete OAuth v2.0 Info 1</DisplayName>
    <AccessToken ref={some-variable}></AccessToken>
    <!--<AuthorizationCode ref={some-variable}></AuthorizationCode>-->
    <Attributes/>
</DeleteOAuthV2Info

<DeleteOAuthV2Info> 属性

<DeleteOAuthV2Info async="false" continueOnError="false" enabled="true" name="Delete-OAuth-v20-Info-1">
属性 説明 デフォルト 要否
async

リクエスト / レスポンス フローを処理するプールとは異なるスレッドプールでポリシーを実行するように指定するには、true に設定します。デフォルトは false です。

この設定は、内部最適化にのみ使用されます。

false 省略可
continueOnError

多くの場合、障害の発生時にポリシーがエラーを返すように設定します。この属性を true に設定すると、フロー実行が失敗したときに続行されます。

false 省略可
enabled ポリシーを適用するかどうかを設定します。false に設定すると、ポリシーは「オフ」になり、適用されません(ポリシーはフローに接続されたままになります)。 true 省略可
name

ポリシーの内部名。この名前は、ポリシーをフローに接続するときに Step 要素で参照されます。

注: 名前に使用できる文字は、A-Z0-9._\-$ % のみです。管理 UI では、この他にも制限があります。たとえば、英数字以外の文字は自動的に削除されます。

なし 必須

<AccessToken> 要素

削除するアクセス トークンが格納されている変数を指定します。たとえば、アクセス トークンが 「access_token」というクエリ パラメータとしてリクエスト メッセージに接続されている場合は、request.queryparam.access_token を指定します。トークンを参照する有効な変数を使用できます。まれなケースですが、リテラル トークン文字列を渡すこともできます。

 <AccessToken ref="request.queryparam.access_token"></AccessToken>
デフォルト: なし
要否: <AccessToken> または <AuthorizationCode> が必須です。
型: 文字列

属性

属性 説明 デフォルト 要否
ref

アクセス トークン変数。通常、フロー変数から取得します。たとえば、request.header.tokenrequest.queryparam.token などです。

なし 省略可

<AuthorizationCode> 要素

削除する認可コードが格納されている変数を指定します。たとえば、認可コードが 「code」というクエリ パラメータとしてリクエスト メッセージに添付されている場合は、request.queryparam.code を指定します。トークンを参照する有効な変数を使用できます。まれなケースですが、リテラル トークン文字列を渡すこともできます。

 <AccessToken ref="request.queryparam.access_token"></AccessToken>
デフォルト: なし
要否: <AccessToken> または <AuthorizationCode> が必須です。
型: 文字列

属性

属性 説明 デフォルト 要否
ref

アクセス トークン変数。通常、フロー変数から取得します。たとえば、request.header.coderequest.queryparam.code などです。

なし 省略可

<DisplayName> 要素

管理 UI のプロキシ エディタでポリシーに設定する自然言語のラベル名です。省略すると、ポリシーの name 属性が使用されます。

<DisplayName>DeleteOAuthV2Info 1</DisplayName>
デフォルト: ポリシーの name 属性の値。
要否: 省略可
型: String

エラー リファレンス

このセクションでは、このポリシーでエラーが発生したときに返される障害コードとエラー メッセージ、Edge によって設定される障害変数について説明します。これは、障害を処理するルールを作成する際に重要な情報となります。詳細については、ポリシーエラーについて知っておくべきこと障害の処理をご覧ください。

ランタイム エラー

このエラーは、ポリシーの実行時に発生する可能性があります。

障害コード HTTP ステータス 原因
steps.oauth.v2.invalid_access_token 401 ポリシーに送信されたアクセス トークンが無効です。
steps.oauth.v2.invalid_request-authorization_code_invalid 401 ポリシーに送信された認可コードが無効です。
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 このエラーの解決方法については、Apigee コミュニティの投稿をご覧ください。

デプロイエラー

デプロイエラーについては、UI に表示されたメッセージをご覧ください。

障害変数

以下の変数は、このポリシーでランタイム エラーが発生したときに設定されます。

変数 説明
fault.name="fault_name" fault_name は、上記のランタイム エラーの表にある障害名です。障害コードの最後の部分が障害名になります。 fault.name = "invalid_access_token"
oauthV2.policy_name.failed policy_name は、エラーが発生したポリシーにユーザーが指定した名前です。 oauthV2.DeleteTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name は、エラーが発生したポリシーにユーザーが指定した名前です。 oauthV2.DeleteTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause policy_name は、エラーが発生したポリシーにユーザーが指定した名前です。 oauthV2.DeleteTokenInfo.cause = Invalid Access Token

エラー レスポンスの例

    {
      "fault": {
        "faultstring": "Invalid Access Token",
        "detail": {
          "errorcode": "keymanagement.service.invalid_access_token"
        }
      }
    }
    

障害ルールの例

    <faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults">
        <Step>
            <Name>AM-InvalidTokenResponse</Name>
        </Step>
        <Condition>(fault.name = "invalid_access_token")</Condition>
    </FaultRule>
    

スキーマ

各ポリシータイプは XML スキーマ(.xsd)によって定義されます。ポリシー スキーマは GitHub から入手できます。

関連トピック