Политика 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 .

Этот параметр используется только для внутренней оптимизации.

ЛОЖЬ Необязательный
продолжитьOnError

Ожидается, что большинство политик вернут ошибку при возникновении сбоя. Если для этого атрибута установлено true , выполнение потока продолжится в случае сбоя.

ЛОЖЬ Необязательный
включено Определяет, применяется ли политика или нет. Если установлено значение false , политика «отключается» и не применяется (даже если политика остается прикрепленной к потоку). истинный Необязательный
имя

Внутреннее имя политики. Это имя используется в элементах Step для присоединения политики к потоку.

Примечание. В имени можно использовать следующие символы: A-Z0-9._\-$ % . Пользовательский интерфейс управления налагает дополнительные ограничения, например автоматическое удаление символов, не являющихся буквенно-цифровыми.

Н/Д Необходимый

Элемент <AccessToken>

Идентифицирует переменную, в которой находится удаляемый токен доступа. Например, если токен доступа прикреплен к сообщению запроса в качестве параметра запроса с именем «access_token», укажите request.queryparam.access_token . Вы можете использовать любую допустимую переменную, ссылающуюся на токен. Или можно передать буквальную строку токена (редкий случай).

 <AccessToken ref="request.queryparam.access_token"></AccessToken>
По умолчанию: Н/Д
Присутствие: Требуется либо <AccessToken> , либо <AuthorizationCode> .
Тип: Нить

Атрибуты

Атрибут Описание По умолчанию Присутствие
ссылка

Переменная токена доступа. Обычно извлекается из переменной потока. Например: request.header.token или request.queryparam.token .

Н/Д Необязательный

Элемент <AuthorizationCode>

Идентифицирует переменную, в которой находится код авторизации, который нужно удалить. Например, если код аутентификации прикреплен к сообщению запроса в качестве параметра запроса с именем «код», укажите request.queryparam.code . Вы можете использовать любую допустимую переменную, ссылающуюся на токен. Или можно передать буквальную строку токена (редкий случай).

 <AuthorizationCode ref="request.queryparam.code"></AuthorizationCode>
По умолчанию: Н/Д
Присутствие: Требуется либо <AccessToken> , либо <AuthorizationCode> .
Тип: Нить

Атрибуты

Атрибут Описание По умолчанию Присутствие
ссылка

Переменная токена доступа. Обычно извлекается из переменной потока. Например: request.header.code или request.queryparam.code .

Н/Д Необязательный

Элемент <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.

Связанные темы