Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
![](https://docs.apigee.com/static/api-platform/images/icon_policy_security.jpg?hl=pl)
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.