Antywzór: ustaw długi czas ważności tokenów OAuth

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

Apigee Edge zapewnia platformę OAuth 2.0 do: bezpiecznych interfejsów API. OAuth2 to jeden z najpopularniejszych, otwartych standardów uwierzytelniania opartych na tokenach. schematów autoryzacji. Umożliwia aplikacjom klienckim dostęp do interfejsów API w imieniu użytkowników bez wymaganie od użytkowników podania nazwy użytkownika i hasła.

Apigee Edge umożliwia programistom generowanie tokenów dostępu lub odświeżania przez wdrożenie jednego z 4 typy uwierzytelnienia przez OAuth2: dane logowania klienta, password, implicit oraz kod autoryzacji – używając zasad OAuthv2. Aplikacje klienckie używają tokenów dostępu do korzystania z bezpiecznych interfejsów API. Każdy token dostępu ma swoją datę ważności , który można ustawić w zasadach OAuthv2.

Tokeny odświeżania są opcjonalnie wydawane wraz z tokenami dostępu z niektórymi typami uprawnień. Odśwież tokeny służą do uzyskiwania nowych, ważnych tokenów dostępu po wygaśnięciu oryginalnego tokena dostępu lub została odwołana. Czas wygaśnięcia tokenów odświeżania można też ustawić w zasadach OAuthv2.

Antywzór

ustawienie długiego okresu ważności tokena dostępu lub tokena odświeżania w zasadach OAuthv2, prowadzi do gromadzenia tokenów OAuth i zwiększonego wykorzystania miejsca na dysku w węzłach Cassandra.

Ta przykładowa zasada OAuthV2 pokazuje długi okres ważności tokenów odświeżania wynoszący 200 dni:

<OAuthV2 name="GenerateAccessToken">
    <Operation>GenerateAccessToken</Operation>
    <ExpiresIn>1800000</ExpiresIn> <!-- 30 minutes -->
    <RefreshTokenExpiresIn>17280000000</RefreshTokenExpiresIn> <!-- 200 days -->
    <SupportedGrantTypes>
      <GrantType>password</GrantType>
    </SupportedGrantTypes>
    <GenerateResponse enabled="true"/>
</OAuthV2>

W tym przykładzie:

  • Token dostępu ma stosunkowo krótki okres ważności wynoszący 30 minut.
  • Token odświeżania jest ustawiony z bardzo długim okresem ważności wynoszącym 200 dni.
  • Jeśli ruch do tego interfejsu API wynosi 10 żądań na sekundę, może on wygenerować aż 864 tys. tokenów za dzień.
  • Ponieważ tokeny odświeżania wygasają tylko po 200 dniach, pozostają one w magazynie danych (Cassandra). przez długi czas, prowadząc do ciągłej agregacji.

Wpływ

  • Prowadzi do znacznego wzrostu wykorzystania miejsca na dysku w magazynie danych (Cassandra).
  • W przypadku użytkowników chmury prywatnej może to zwiększyć opłaty za miejsce na dane. W najgorszym przypadku dysk może się zapełnić i doprowadzić do błędów środowiska wykonawczego lub awarii.

Sprawdzona metoda

Użyj odpowiedniego krótszego okresu ważności dla dostępu OAuth i tokenów odświeżania w zależności od konkretnego które pozwalają na szybkie usunięcie tych danych i uniknięcie ich gromadzenia.

Ustaw czas ważności tokenów odświeżania, aby był ważny przez nieco dłuższy czas niż tokeny dostępu. Jeśli na przykład ustawisz 30 minut na token dostępu, a potem 60 minut dla token odświeżania.

Dzięki temu:

  • Jest wystarczająco dużo czasu, aby użyć tokena odświeżania do wygenerowania nowych tokenów dostępu i odświeżania po token dostępu wygasł.
  • Tokeny odświeżania tracą ważność chwilę później i mogą zostać trwale usunięte, aby unikaj agregacji.

Więcej informacji