您正在查看 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">
屬性 | 說明 | 預設 | 存在必要性 |
---|---|---|---|
async |
設為 這項設定只會用於內部最佳化。 |
false | 選用 |
continueOnError |
如果發生錯誤,多數政策都會傳回錯誤。將此屬性設為 |
false | 選用 |
已啟用 | 決定是否要強制執行政策。如果設為 false ,政策會「停用」,且不會強制執行 (即使政策仍連結至資料流)。 |
true | 選用 |
名稱 |
政策的內部名稱。系統會在步驟元素中參照這個名稱,以便將政策連結至資料流。 注意:這個名稱中的字元僅限 |
不適用 | 必要 |
<AccessToken> 元素
識別要刪除的存取權杖所在的變數。舉例來說,如果存取權杖是以名為「access_token」的查詢參數附加至要求訊息,請指定 request.queryparam.access_token
。您可以使用任何參照權杖的有效變數。或者,也可以傳入常值權杖字串 (罕見大小寫)。
<AccessToken ref="request.queryparam.access_token"></AccessToken>
預設: | 不適用 |
所在地: | 必須使用 <AccessToken> 或 <AuthorizationCode> 。 |
類型: | 字串 |
屬性
屬性 | 說明 | 預設 | 存在必要性 |
---|---|---|---|
參考資料 |
存取權杖變數。一般而言,擷取自流程變數。例如 |
不適用 | 選用 |
<AuthorizationCode> 元素
識別要刪除的授權碼所在位置的變數。舉例來說,如果驗證碼是以名為「code」的查詢參數附加至要求訊息,請指定 request.queryparam.code
。您可以使用任何參照權杖的有效變數。或者,也可以傳入常值權杖字串 (罕見大小寫)。
<AuthorizationCode ref="request.queryparam.code"></AuthorizationCode>
預設: | 不適用 |
所在地: | 必須使用 <AccessToken> 或 <AuthorizationCode> 。 |
類型: | 字串 |
屬性
屬性 | 說明 | 預設 | 存在必要性 |
---|---|---|---|
參考資料 |
存取權杖變數。一般而言,擷取自流程變數。例如 |
不適用 | 選用 |
<DisplayName> 元素
這個自然語言名稱可在管理 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": { "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 提供政策結構定義。