Вы просматриваете документацию по 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">
| Атрибут | Описание | По умолчанию | Тип поля |
|---|---|---|---|
| асинхронный |
Установите значение Эта настройка используется только для внутренней оптимизации. |
false | Необязательно |
| continueOnError |
Большинство правил должны возвращать ошибку при сбое. Если задать для этого атрибута значение |
false | Необязательно |
| включено | Определяет, применяется ли правило. Если задано значение false, правило "отключается" и не применяется (даже если оно по-прежнему связано с потоком). |
true | Необязательно |
| name |
Внутреннее название правила. Это название используется в элементах шага, чтобы прикрепить правило к потоку. Примечание. В названии можно использовать только следующие символы:
|
Н/Д | Обязательно |
Элемент <AccessToken>
Определяет переменную, в которой находится токен доступа, который нужно удалить. Например, если токен доступа прикреплен к сообщению запроса в виде параметра запроса с названием "access_token", укажите request.queryparam.access_token. Вы можете использовать любую допустимую переменную, которая ссылается на токен. или передать строку токена (редкий случай).
<AccessToken ref="request.queryparam.access_token"></AccessToken>
| По умолчанию: | Н/Д |
| Присутствие | Также теперь обязательно использовать свойство <AccessToken> или <AuthorizationCode>. |
| Тип: | Строка |
Атрибуты
| Атрибут | Описание | По умолчанию | Тип поля |
|---|---|---|---|
| ref |
Переменная токена доступа. Обычно извлекается из переменной потока. Примеры: |
Н/Д | Необязательно |
Элемент <AuthorizationCode>
Указывает переменную, в которой находится код авторизации, который нужно удалить. Например, если код авторизации прикреплен к сообщению запроса в виде параметра запроса с названием "code", укажите request.queryparam.code. Вы можете использовать любую допустимую переменную, которая ссылается на токен.
или передать строку токена (редкий случай).
<AuthorizationCode ref="request.queryparam.code"></AuthorizationCode>
| По умолчанию: | Н/Д |
| Присутствие | Также теперь обязательно использовать свойство <AccessToken> или <AuthorizationCode>. |
| Тип: | Строка |
Атрибуты
| Атрибут | Описание | По умолчанию | Тип поля |
|---|---|---|---|
| ref |
Переменная токена доступа. Обычно извлекается из переменной потока. Примеры: |
Н/Д | Необязательно |
Элемент <DisplayName>
Название на естественном языке, которое используется для обозначения правила в редакторе прокси-сервера интерфейса управления. Если не указано, используется атрибут имени правила.
<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.