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 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ść |
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: |
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: |
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: |
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.