DeleteOAuthV2Info 政策

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

結果

刪除指定的 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">
屬性 說明 預設 存在必要性
非同步

設為 true 即可指定應在執行緒中執行政策 ,與處理要求/回應流程的集區不同。預設 為 false

這項設定僅供內部最佳化使用。

false 選用
continueOnError

多數政策預期會在失敗時傳回錯誤。透過設定 屬性設為 true,則資料流執行作業會在失敗時繼續進行。

false 選用
已啟用 決定是否強制執行政策。如果設為 false,系統會傳送 政策「已停用」且不會強制執行 (即使該政策依附於 Flow)。 true 選用
名稱

政策的內部名稱。要在 Step 元素中參照這個名稱 再將政策套用至流程

注意:名稱中可用的字元僅限於: A-Z0-9._\-$ %。管理 UI 會強制執行額外的限制,例如 自動移除非英數字元。

不適用 必填

&lt;AccessToken&gt;元素

識別要刪除的存取權杖所在的變數。舉例來說, 存取權杖會附加至要求訊息,做為名為「access_token」的查詢參數,請指定 request.queryparam.access_token。您可以使用任何參照 產生下一個符記或者,也可以傳入常值權杖字串 (極少有大小寫之分)。

 <AccessToken ref="request.queryparam.access_token"></AccessToken>
預設: 不適用
所在地: <AccessToken><AuthorizationCode> 為 這通常代表交易 不會十分要求關聯語意
類型: 字串

屬性

屬性 說明 預設 存在必要性
參考資料

存取權杖變數。通常擷取自流程變數。適用對象 例如 request.header.tokenrequest.queryparam.token

不適用 選用

&lt;AuthorizationCode&gt;元素

識別要刪除的授權代碼所在的變數。舉例來說, 授權碼會附加在要求訊息中,做為「code」查詢參數。請指定 request.queryparam.code。您可以使用參照該權杖的任何有效變數。 或者,也可以傳入常值權杖字串 (極少有大小寫之分)。

 <AuthorizationCode ref="request.queryparam.code"></AuthorizationCode>
預設: 不適用
所在地: <AccessToken><AuthorizationCode> 為 這通常代表交易 不會十分要求關聯語意
類型: 字串

屬性

屬性 說明 預設 存在必要性
參考資料

存取權杖變數。通常擷取自流程變數。適用對象 例如 request.header.coderequest.queryparam.code

不適用 選用

&lt;DisplayName&gt; 元素

管理 UI Proxy 編輯器中政策的自然語言名稱。省略時 政策名稱屬性

<DisplayName>DeleteOAuthV2Info 1</DisplayName>
預設: 政策 name 屬性的值。
所在地: 選用
類型: 字串

錯誤參考資料

本節說明在這項政策觸發錯誤時,所傳回的錯誤代碼和錯誤訊息,以及 Edge 所設定的錯誤變數。 請務必瞭解這份資訊,以便瞭解您是否要擬定錯誤規則, 處理錯誤詳情請參閱這篇文章 瞭解政策錯誤處理方式 發生錯誤

執行階段錯誤

執行政策時,可能會發生這些錯誤。

錯誤程式碼 HTTP 狀態 原因
steps.oauth.v2.invalid_access_token 401 傳送至政策的存取權杖無效。
steps.oauth.v2.invalid_request-authorization_code_invalid 401 傳送至政策的授權碼無效。
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 請參閱 這篇 Apigee 社群貼文說明如何排解這項錯誤。

部署錯誤

如要瞭解部署錯誤,請參閱使用者介面中回報的訊息。

錯誤變數

當這項政策在執行階段觸發錯誤時,即可設定這些變數。

變數 地點 範例
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 提供許多資源。

相關主題