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> のいずれかが必要です。
型: String

属性

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

アクセス トークン変数。通常、フロー変数から取得します。例: request.header.tokenrequest.queryparam.token

なし 省略可

<AuthorizationCode> 要素

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

     <AccessToken ref="request.queryparam.access_token"></AccessToken>
    
デフォルト: なし
要否: <AccessToken> または <AuthorizationCode> のいずれかが必要です。
型: String

属性

属性 説明 デフォルト 要否
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 に参照用のポリシー スキーマが用意されています。

関連トピック