Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Informacje o metadanych tokenów
Apigee Edge generuje tokeny dostępu OAuth, tokeny odświeżania i kody autoryzacji oraz i przekazuje je do uwierzytelnionych aplikacji. W momencie wygenerowania Edge przechowuje te tokeny i kody. Później, gdy Edge odbiera przychodzące żądania do interfejsu API zawierające te tokeny lub kody, Edge używa klucza przechowywane informacje do autoryzowania żądań.
Gdy Edge generuje te artefakty OAuth, dołącza również metadane do tokena lub kodu. Dla: token dostępu jest na przykład powiązany z parami nazwa/wartość, które definiują czas ważności, aplikacji i dewelopera oraz inne informacje.
Reprezentacja tokena dostępu Edge w formacie JSON wygląda tak:
{ "issued_at" : "1372170159093", "application_name" : "ccd1803b-b557-4520-bd62-ddd3abf8e501", "scope" : "READ", "status" : "approved", "api_product_list" : "[Product1,Product2]", "api_product_list_json" : ["Product1", "Product2"], "expires_in" : "3599", //--in seconds "developer.email" : "joe@weathersample.com", "organization_id" : "0", "refresh_token" : "82XMXgDyHTpFyXOaApj8C2AGIPnN2IZe", "client_id" : "deAVedE0W9Z9U35PAMaAJYphBJCGdrND", "access_token" : "shTUmeI1geSKin0TODcGLXBNe9vp", "organization_name" : "apifactory", "refresh_count" : "0" }
Dodawanie atrybutów niestandardowych do tokenów OAuth
Czasami warto dołączyć niestandardowe metadane do tokena dostępu. Możesz na przykład chcieć dodaj nazwę użytkownika, członkostwo w grupach lub role użytkownika, identyfikator klienta, identyfikator sesji lub inne dowolne informacje do tokena. W Apigee Edge dane te są nazywane „niestandardowymi” atrybutów”. Następnie, po zweryfikowaniu tokena w zakresie żądania do interfejsu API, dane są udostępniane serwerowi proxy interfejsu API za pomocą zmiennych kontekstowych. Serwer proxy API może sprawić, szczegółowe decyzje dotyczące autoryzacji lub routingu na podstawie danych niestandardowych token.
Aby dołączyć do tokena dowolne dane, użyj elementu <Attributes>
w
zasadę OAuthV2. Dostępne opcje
określ nazwę atrybutu niestandardowego i wartość, jaką ma on mieć. Oto przykład:
konfiguracja zasad generująca token i dołączająca atrybut niestandardowy o nazwie „tenant_list”
do tokena:
<OAuthV2 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> <ExpiresIn>600000</ExpiresIn> <GenerateResponse /> <SupportedGrantTypes> <GrantType>client_credentials</GrantType> </SupportedGrantTypes> <GrantType>request.queryparam.grant_type</GrantType> <Attributes> <Attribute name="tenant_list" ref="tenant_list_retrieved_from_external_service" display="false"/> </Attributes> </OAuthV2>
Możesz podać wiele atrybutów niestandardowych i dołączyć je domyślnie do
kod autoryzacji (<Operation>GenerateAuthorizationCode</Operation>
) lub
token (<Operation>GenerateAccessToken</Operation>
) w momencie
i generowanie treści.
Gdy display
ma wartość true
(domyślnie), atrybuty niestandardowe są
zwracane w odpowiedzi, gdzie mogą być widoczne dla aplikacji lub przekazywane użytkownikowi.
Gdy display
ma wartość false
, atrybuty niestandardowe są przechowywane w danych.
ale nie są zwracane w odpowiedzi. W obu przypadkach dane niestandardowe są dostępne
do zasad na serwerze proxy API po zweryfikowaniu tokena.
Więcej informacji o opcji display
wyświetlanie lub ukrywanie atrybutów niestandardowych w odpowiedzi.
Uzyskiwanie atrybutów niestandardowych w środowisku wykonawczym
W przypadku połączenia z numerem OAuthV2/VerifyAccessToken
Apigee Edge weryfikuje token, wyszukując go w magazynie tokenów. Apigee Edge następnie wypełnia pole
zestawu zmiennych kontekstowych zawierających informacje o tokenie. Obejmują one:
- organization_name
- developer.id
- developer.app.name
- client_id
- grant_type
- token_type
- access_token
- issued_at
- wygasa_in //--in s
- status
- zakres
- apiproduct.name*
Jeśli w tokenie znajdują się atrybuty niestandardowe, są one dostępne w
zmienną kontekstową o nazwie accesstoken.{custom_attribute}
. Przykład:
załóżmy, że wystawiono token na podstawie przedstawionych powyżej zasad. Po zweryfikowaniu takiego tokena nastąpi
być dodatkową zmienną kontekstową o nazwie accesstoken.tenant_list
, zawierającą
która była przechowywana w momencie generowania tokena.
Zasady lub warunki mogą się następnie odwoływać do tych zmiennych i modyfikować działanie na podstawie przechowywane w wartościach.
Ustawianie i aktualizowanie atrybutów niestandardowych w Czas trwania
W niektórych sytuacjach serwer proxy API ma aktualizować metadane powiązane z token dostępu w czasie działania podczas przetwarzania wywołania interfejsu API w Apigee Edge. Aby uzyskać pomoc, Apigee udostępnia zasady pobierania i ustawiania atrybutów tokenów. Więcej informacji: Pobierz informacje o OAuth V2 zasady i Ustaw protokół OAuth Zasady dotyczące informacji (wersja 2).
AccessToken
powinien odwoływać się do zmiennej, która
który zawiera token dostępu.
Za pomocą interfejsów Edge API możesz też aktualizować atrybuty niestandardowe dołączone do tokena. Zobacz interfejs API dokumentacji Update Metoda tokena dostępu OAuth 2.0.