Usunięcie zasady OAuthOAuth22Info

Wyświetlasz dokumentację Apigee Edge.
Przejdź do dokumentacji Apigee X.
info

Co

Usuwa określony kod autoryzacji lub token dostępu OAuth V2.

Przykłady

Usuwanie tokena dostępu

Poniżej znajdziesz przykład zasady używanej do 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>

Usuwanie kodu autoryzacji

Poniżej znajdziesz przykład zasady używanej do 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

Odniesienie do elementu opisuje elementy i atrybuty zasady DeleteOAuthV2Info policy.

<?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 elementu <DeleteOAuthV2Info>

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

Ustaw na true, aby określić, że zasada ma być uruchamiana w puli wątków innej niż pula obsługująca przepływ żądania/odpowiedzi. Domyślnie jest false.

To ustawienie jest używane tylko do optymalizacji wewnętrznej.

fałsz Opcjonalny
continueOnError

Większość zasad powinna zwracać błąd w przypadku niepowodzenia. Ustawienie tego atrybutu na true powoduje, że wykonanie przepływu jest kontynuowane w przypadku niepowodzenia.

fałsz Opcjonalny
enabled Określa, czy zasada jest egzekwowana. Jeśli ustawisz wartość false, zasada zostanie „wyłączona” i nie będzie egzekwowana (nawet jeśli pozostanie dołączona do przepływu). prawda Opcjonalny
name

Wewnętrzna nazwa zasady. Ta nazwa jest używana w elementach Step do dołączania zasady do przepływu.

Uwaga: nazwa może zawierać tylko te znaki: A-Z0-9._\-$ %. Interfejs zarządzania wymusza dodatkowe ograniczenia, np. automatycznie usuwa znaki, które nie są alfanumeryczne.

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 wiadomości żądania jako parametr zapytania o nazwie „access_token”, określ request.queryparam.access_token. Możesz użyć dowolnej prawidłowej zmiennej, która odwołuje się do tokena. Możesz też przekazać literał tokena (rzadki przypadek).

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

Atrybuty

Atrybut Opis Domyślny Obecność
ref

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

Nie dotyczy Opcjonalny

Element <AuthorizationCode>

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

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

Atrybuty

Atrybut Opis Domyślny Obecność
ref

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

Nie dotyczy Opcjonalny

Element<DisplayName>

Nazwa w języku naturalnym, która etykietuje zasadę w edytorze proxy w interfejsie zarządzania. Jeśli ten element zostanie pominięty, używany jest atrybut nazwy zasady.

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

Odniesienie do błędu

W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wyzwala błąd. Warto o tym wiedzieć, jeśli rozwijasz reguły błędów, aby obsługi błędów. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z zasadami i postępowaniu z błędami

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 Więcej informacji: ten post na karcie Społeczność Apigee z informacjami o rozwiązywaniu tego problemu.

Błędy wdrażania

Więcej informacji o błędach wdrażania znajdziesz w komunikacie zgłoszonym w interfejsie.

Zmienne błędów

Te zmienne są ustawiane, gdy ta 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 czasu działania powyżej. Nazwa błędu to ostatnia część kodu błędu. 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 zdefiniowany przez schemat XML (.xsd). Schematy zasad są dostępne na GitHubie.

Powiązane artykuły