Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
Apigee Edge udostępnia platformę OAuth 2.0 do zabezpieczania interfejsów API. OAuth2 to jeden z najpopularniejszych otwartych standardów, oparty na tokenach schemat uwierzytelniania i autoryzacji. Umożliwia on aplikacjom klienckim dostęp do interfejsów API w imieniu użytkowników bez konieczności ujawniania przez nich nazwy użytkownika i hasła.
Apigee Edge umożliwia deweloperom generowanie tokenów dostępu lub odświeżania przez wdrożenie dowolnego z 4 typów uwierzytelniania OAuth2 – dane uwierzytelniające klienta, hasło, niejawne i kod autoryzacji – za pomocą zasady OAuthv2. Aplikacje klienckie używają tokenów dostępu do korzystania z bezpiecznych interfejsów API. Każdy token dostępu ma własny czas ważności, który można ustawić w zasadzie OAuthv2.
Tokeny odświeżania są opcjonalnie wydawane wraz z tokenami dostępu w przypadku niektórych typów uwierzytelniania. Tokeny odświeżania służą do uzyskiwania nowych, prawidłowych tokenów dostępu po wygaśnięciu lub unieważnieniu pierwotnego tokena dostępu. Czas wygaśnięcia tokenów odświeżania można też ustawić w zasadzie OAuthv2.
Antywzorzec
Ustawienie długiego czasu ważności tokena dostępu lub tokena odświeżania w zasadzie OAuthv2 prowadzi do gromadzenia się tokenów OAuth i zwiększenia wykorzystania miejsca na dysku w węzłach Cassandra.
Ten przykład zasady OAuthV2 pokazuje długi czas 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 powyższym przykładzie:
- Token dostępu ma stosunkowo krótki czas ważności wynoszący 30 minut.
- Token odświeżania ma bardzo długi czas ważności wynoszący 200 dni.
- Jeśli ruch do tego interfejsu API wynosi 10 żądań na sekundę, może on wygenerować nawet 864 tys. tokenów dziennie.
- Ponieważ tokeny odświeżania wygasają dopiero po 200 dniach, są one przechowywane w magazynie danych (Cassandra) przez długi czas, co prowadzi do ich ciągłego gromadzenia się.
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ć koszty przechowywania danych lub w najgorszym przypadku spowodować zapełnienie dysku i błędy w czasie działania lub awarię.
Sprawdzona metoda
Użyj odpowiednio krótkiego czasu ważności tokenów dostępu i odświeżania OAuth, aby szybko je usuwać i uniknąć ich gromadzenia się.
Ustaw czas ważności tokenów odświeżania tak, aby był on nieco dłuższy niż czas ważności tokenów dostępu. Na przykład ustaw 30 minut dla tokena dostępu i 60 minut dla tokena odświeżania.
Dzięki temu:
- Po wygaśnięciu tokena dostępu masz wystarczająco dużo czasu, aby użyć tokena odświeżania do wygenerowania nowych tokenów dostępu i odświeżania.
- Tokeny odświeżania wygasną nieco później i można je usunąć w odpowiednim czasie, aby uniknąć ich gromadzenia się.