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