Usunięcie zasady OAuthOAuth22Info

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Co

Usuwa podany kod autoryzacji OAuth V2 lub token dostępu.

Przykłady

Usunięcie tokena dostępu

Poniżej znajdziesz przykładową zasadę usuwania tokena dostępu OAuth 2.0. Poniższy przykład znajduje token dostępu do usunięcia w wiadomości żądania, wyszukując nagłówek o nazwie access_token.

<DeleteOAuthV2Info name="DeleteAccessToken">
     <AccessToken ref="request.header.access_token"></AccessToken>
</DeleteOAuthV2Info>

Usuń kod autoryzacji

Poniżej znajdziesz przykładową zasadę usuwania kodu autoryzacji OAuth 2.0. Poniższy przykład znajduje kod autoryzacji do usunięcia w wiadomości żądania, wyszukując parametr zapytania o nazwie code.

<DeleteOAuthV2Info name="DeleteAuthCode">
     <AuthorizationCode ref="request.queryparam.code"></AuthorizationCode>
</DeleteOAuthV2Info>

Odniesienie do elementu

Dokumentacja elementów opisuje elementy i atrybuty zasady 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

Atrybuty<DeleteOAuthV2Info>

<DeleteOAuthV2Info async="false" continueOnError="false" enabled="true" name="Delete-OAuth-v20-Info-1">
Atrybut Opis Domyślne Obecność
async

Ustaw jako true, aby określić, że zasada powinna być uruchamiana w puli wątków innej niż pula obsługująca przepływ żądań/odpowiedzi. Wartość domyślna to false.

To ustawienie służy tylko do optymalizacji wewnętrznej.

false Opcjonalnie
continueOnError

W przypadku wystąpienia błędu większość zasad powinna zwracać błąd. Jeśli ustawisz ten atrybut na wartość true, wykonanie przepływu będzie kontynuowane w przypadku niepowodzenia.

false Opcjonalnie
włączone Określa, czy zasada jest egzekwowana. Jeśli ma wartość false, zasada jest „wyłączona” i nie jest egzekwowana (chociaż zasada pozostaje dołączona do procesu). prawda Opcjonalnie
nazwa

Wewnętrzna nazwa zasady. Do tej nazwy odwołują się elementy kroku, co umożliwia dołączenie zasady do procesu.

Uwaga: w nazwie możesz używać tylko znaków: A-Z0-9._\-$ %. Interfejs zarządzania wymusza dodatkowe ograniczenia, takie jak automatyczne usuwanie znaków, które nie są znakami alfanumerycznymi.

Nie dotyczy Wymagane

Element <AccessToken>

Określa zmienną, w której znajduje się token dostępu do usunięcia. Jeśli na przykład token dostępu jest dołączony do żądania wiadomości jako parametr zapytania o nazwie „access_token”, podaj request.queryparam.access_token. Możesz użyć dowolnej prawidłowej zmiennej, która odwołuje się do tokena. Można też przekazać ciąg tokena dosłownego (rzadki przypadek).

 <AccessToken ref="request.queryparam.access_token"></AccessToken>
Domyślnie: Nie dotyczy
Obecność: Wymagana jest właściwość <AccessToken> lub <AuthorizationCode>.
Typ: Ciąg znaków

Atrybuty

Atrybut Opis Domyślne Obecność
referencja

Zmienna tokena dostępu. Zwykle pobierany ze zmiennej przepływu. Na przykład: request.header.token lub request.queryparam.token.

Nie dotyczy Opcjonalnie

Element <AuthorizationCode>

Identyfikuje zmienną, w której znajduje się kod autoryzacji do usunięcia. Jeśli na przykład kod autoryzacji jest dołączony do żądania wiadomości jako parametr zapytania o nazwie „code”, wpisz request.queryparam.code. Możesz użyć dowolnej prawidłowej zmiennej, która odwołuje się do tokena. Można też przekazać ciąg tokena dosłownego (rzadki przypadek).

 <AuthorizationCode ref="request.queryparam.code"></AuthorizationCode>
Domyślnie: Nie dotyczy
Obecność: Wymagana jest właściwość <AccessToken> lub <AuthorizationCode>.
Typ: Ciąg znaków

Atrybuty

Atrybut Opis Domyślne Obecność
referencja

Zmienna tokena dostępu. Zwykle pobierany ze zmiennej przepływu. Na przykład: request.header.code lub request.queryparam.code.

Nie dotyczy Opcjonalnie

Element<DisplayName>

Nazwa w języku naturalnym oznaczająca zasadę w edytorze serwera proxy w interfejsie zarządzania. Jeśli go pominiesz, zostanie użyty atrybut nazwy zasady.

<DisplayName>DeleteOAuthV2Info 1</DisplayName>
Domyślnie: Wartość atrybutu name zasady.
Obecność: Opcjonalnie
Typ: Ciąg znaków

Informacje o błędach

W tej sekcji opisujemy kody błędów i komunikaty o błędach, które są zwracane, oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wywołuje błąd. Te informacje są ważne, jeśli opracowujesz reguły dotyczące błędów do obsługi takich błędów. Więcej informacji znajdziesz w sekcjach Co musisz wiedzieć o błędach zasad i Postępowanie w przypadku błędów.

Błędy w czasie wykonywania

Te błędy mogą wystąpić podczas wykonywania zasady.

Kod błędu Stan HTTP Przyczyna
steps.oauth.v2.invalid_access_token 401 Token dostępu wysłany do zasady jest nieprawidłowy.
steps.oauth.v2.invalid_request-authorization_code_invalid 401 Kod autoryzacji wysłany do zasady jest nieprawidłowy.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Informacje o tym, jak rozwiązać ten problem, znajdziesz w tym poście w społeczności Apigee.

Błędy wdrażania

Informacje o błędach wdrażania znajdziesz w komunikacie zgłoszonym w interfejsie.

Zmienne błędów

Te zmienne są ustawiane, gdy zasada wywołuje błąd w czasie działania.

Zmienne Gdzie Przykład
fault.name="fault_name" fault_name to nazwa błędu podana w tabeli Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. fault.name = "invalid_access_token"
oauthV2.policy_name.failed policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. oauthV2.DeleteTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. oauthV2.DeleteTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. oauthV2.DeleteTokenInfo.cause = Invalid Access Token

Przykładowa odpowiedź na błąd

{
  "fault": {
    "faultstring": "Invalid Access Token",
    "detail": {
      "errorcode": "keymanagement.service.invalid_access_token"
    }
  }
}

Przykładowa reguła błędu

<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults">
    <Step>
        <Name>AM-InvalidTokenResponse</Name>
    </Step>
    <Condition>(fault.name = "invalid_access_token")</Condition>
</FaultRule>

Schemat

Każdy typ zasady jest definiowany przez schemat XML (.xsd). Schematy zasad są dostępne na GitHubie.

Powiązane artykuły