Zatwierdzanie i cofanie tokenów dostępu

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Anuluję dostęp i tokeny odświeżania

W niektórych przypadkach aplikacje muszą wprost unieważnić tokeny. użytkownik wylogowuje się z aplikacji korzystającej z protokołu OAuth. Jeśli unieważnisz token, możesz go w każdej chwili ponownie zatwierdzić. zanim straci ważność.

Procedura unieważniania tokena została zdefiniowana w specyfikacji unieważniania tokena OAuth 2.0.

Apigee Edge udostępnia operacjęInvalidateToken, która pozwala skonfigurować dedykowany punktu końcowego unieważnienia tokena. Publikując identyfikator URI tego punktu końcowego, umożliwiasz deweloperom aplikacji unieważnia tokeny wystawione przez Edge.

Oto przykładowa konfiguracja zasady OAuthV2 i operacjiInvalidateToken. W W tym przypadku token dostępu i powiązany z nim token odświeżania zostaną unieważnione. Z technicznego punktu widzenia są unieważniane, ponieważ flaga kaskady ma wartość prawda. Więcej informacji na temat tego, jak Cascade flaga działa – patrz sekcja atrybutów elementu token poniżej.

<OAuthV2 name="InvalidateToken">
  <Operation>InvalidateToken</Operation>
  <Tokens>
    <Token type="accesstoken" cascade="true">flow.variable</Token>
  </Tokens>
</OAuthV2>

&lt;Tokens&gt;/&lt;Token&gt; element

Identyfikuje zmienną przepływu, która wskazuje token do unieważnienia. Jeśli deweloperzy ma przesłać żądanie wycofania zgody za pomocą parametru zapytania o nazwie access_token. Na przykład prawidłowa zmienna przepływu może być: request.queryparam.access_token. Aby wymagać tokena w nagłówku HTTP, np. ustaw tę wartość na request.header.access_token.

Atrybuty

  • type (wymagany, ciąg znaków): typ tokena identyfikowany przez zmienną. określone dane. Obsługiwane wartości to accesstoken i refreshtoken:
    • Aby unieważnić token dostępu, podaj typ accesstoken.
    • Aby unieważnić zarówno tokeny dostępu, jak i tokeny odświeżania, podaj typ odświeżaniatoken. Kiedy widzi Odświeżtoken, Edge uzna, że jest to token odświeżania. Jeśli token odświeżania to zostanie unieważniony. Jeśli token odświeżania nie zostanie znaleziony, Edge sprawdzi, czy sprawdź, czy jest to token dostępu. Jeśli token dostępu istnieje, zostaje unieważniony.

      Uwaga: jeśli przekażesz do Nieprawidłowy token token, który już został unieważniony zasady nie zwraca błędu, chociaż możesz tego oczekiwać. Taki nie ma żadnego efektu.
  • cascade (opcjonalny, wartość logiczna, wartość domyślna: true) Podstawowe zastosowanie tego argumentu to unieważnienie tokena odświeżania bez unieważniania powiązanego tokena dostępu. Rozważ w tych przypadkach:
    • Unieważnij tylko token odświeżania i nie unieważnij powiązanego z nim tokena dostępu. Aby to zrobić: ustaw <Token> wpisz refreshtoken i ustaw kaskadę na false
    • Unieważnij token dostępu i token odświeżania. Aby to zrobić, ustaw parametr <Token> wpisz accesstoken. Wartością kaskady może być true (parametr domyślny) lub false. Jeśli ustawisz wartość true, dostęp i token odświeżania zostaną unieważnione. Jeśli ustawisz wartość false, dostęp token odświeżania zostaje unieważniony i nie można go użyć. Więcej informacji znajdziesz w sekcji „Uwaga poniżej” .
    • Unieważnij token dostępu i nie unieważnij powiązanego z nim tokena odświeżania. Nie obsługiwane. Więcej informacji znajdziesz w sekcji „Uwaga” poniżej.

Uwaga: ze względów bezpieczeństwa, jeśli unieważnisz token odświeżania, powiązany token odświeżania również zostanie unieważniony. Dlatego nie można używać funkcji do unieważnienia tylko tokena dostępu. Na przykład, jeśli ustawisz tag <Token> i ustawić cascade=false na accesstoken, token dostępu zostanie unieważniony. (zgodnie z oczekiwaniami); ale powiązany token odświeżania jest bezużyteczny. Nie można go użyć do odświeżania unieważniony token dostępu. Podstawowym przypadkiem użycia tego atrybutu jest atrybut kaskadowy unieważnić token odświeżania. W takim przypadku ustaw parametr <Token> wpisz na refreshtoken, i ustaw cascade=false. Token odświeżania zostanie unieważniony, ale powiązany z nim dostęp token pozostanie ważny (dopóki nie wygaśnie lub nie zostanie unieważniony). Więcej informacji można znaleźć tutaj Dyskusja na forum społeczności.

Zatwierdzanie tokenów dostępu i odświeżania

Użycie operacji ValidateToken do „ponownego zatwierdzenia” unieważniony token. Oznacza to, że po zastosowaniu tego stan tokenu dostępu docelowego lub tokena odświeżania zmieni się z „odrzucony” do 'zatwierdzone'. Możesz zweryfikować każdy unieważniony token, który jeszcze nie wygasł.

<OAuthV2 name="ValidateToken">
  <Operation>ValidateToken</Operation>
  <Tokens>
    <Token type="refreshtoken" cascade="true">flow.variable</Token>
  </Tokens>
</OAuthV2>

&lt;Tokens&gt;/&lt;Token&gt; element

Identyfikuje zmienną przepływu, która określa token do zweryfikowania. Jeśli deweloperzy powinno przesłać żądanie weryfikacji za pomocą parametru zapytania o nazwie access_token. Na przykład prawidłowa zmienna przepływu może być: request.queryparam.access_token. Aby wymagać tokena w nagłówku HTTP, np. ustaw tę wartość na request.header.access_token.

Atrybuty

  • type (wymagany, ciąg znaków) Typ tokena identyfikowanego przez zmienną. określone dane. Obsługiwane wartości to accesstoken i refreshtoken.
  • cascade (opcjonalny, wartość logiczna): domyślnie ta opcja ma wartość true i powoduje rozpowszechnienie weryfikacji do powiązanych tokenów. Jeśli ją zastosujesz, z tokenem odświeżania, powiązany z nim token dostępu również zostanie zweryfikowany. Jeśli ma zastosowanie do dostępu token odświeżania, powiązany z nim token odświeżania również jest weryfikowany. Jeśli ustawisz wartość false, wtedy tylko określony token dostępu lub token odświeżania jest weryfikowany.