Uwierzytelnianie podstawowe to jeden ze sposobów uwierzytelniania podczas wykonywania wywołań interfejsu Edge Management API.
Możesz na przykład wysłać to żądanie curl
do interfejsu Edge Management API, aby uzyskać dostęp
informacje o Twojej organizacji:
curl -u USER_NAME:PASSWORD https://MS_IP_DNS:8080/v1/organizations/ORG_NAME
W tym przykładzie korzystasz z opcji curl
-u
, aby przejść uwierzytelnianie podstawowe.
dane logowania. Możesz też przekazać token OAuth2 w nagłówku Bearer
, aby
Wywołania interfejsu Edge Management API, które widać w tym przykładzie:
curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Po włączeniu uwierzytelniania zewnętrznego dostawcy tożsamości możesz opcjonalnie wyłączyć podstawowe ustawienia
uwierzytelnianie. Jeśli wyłączysz opcję Podstawowe
wszystkie skrypty (takie jak Maven, shell i apigeetool
), które
korzystające z wywołań interfejsu Edge Management API obsługujących uwierzytelnianie podstawowe nie będą już działać. Musisz zaktualizować
wszystkich wywołań interfejsu API i skryptów, które korzystają z uwierzytelniania podstawowego do przekazywania tokenów dostępu OAuth2 w
Nagłówek Bearer
.
Pobieraj i odświeżaj tokeny za pomocą get_token
Narzędzie get_token
wymienia dane uwierzytelniające podstawowe (a w niektórych przypadkach
kodu dostępu) dla dostępu OAuth2 i tokena odświeżania. Narzędzie get_token
akceptuje
dane logowania i zwraca prawidłowy token dostępu. Jeśli token można odświeżyć, narzędzie zostanie odświeżone
i zwraca. Jeśli token odświeżania wygaśnie, pojawi się prośba o podanie danych logowania użytkownika.
Narzędzie get_token
przechowuje tokeny na dysku, gotowe do użycia, gdy są potrzebne. it
również wydrukuje prawidłowy token dostępu na stronie stdout
. Następnie możesz użyć rozszerzenia przeglądarki, takiego jak
Postman lub umieść go w zmiennej środowiskowej do użycia w curl
.
Aby uzyskać token dostępu OAuth2 do wykonywania wywołań interfejsu Edge Management API:
- Pobierz pakiet
sso-cli
:curl http://EDGE_SSO_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"
Gdzie EDGE_SSO_IP_DNS to adres IP lub nazwa DNS maszyny, na której jest hostowany moduł SSO Apigee. Jeśli masz skonfigurowany protokół TLS w Apigee SSO, użyj wartości
https
i prawidłowej Numer portu TLS. - Rozpakuj pakiet
ssocli-bundle.zip
zgodnie z poniższym przykładem:unzip ssocli-bundle.zip
- Zainstaluj dodatek
get_token
w aplikacji/usr/local/bin
, zgodnie z tym przykładem:./install -b PATH
Opcja
-b
określa inną lokalizację. - Ustaw zmienną środowiskową
SSO_LOGIN_URL
na swój adres URL logowania w tym formacie:export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"
Gdzie EDGE_SSO_IP_DNS to adres IP maszyny, na której działa moduł SSO Apigee. Jeśli masz skonfigurowane szyfrowanie TLS w Apigee SSO, użyj zasady
https
i prawidłowego portu TLS numer. - (Tylko SAML) W przeglądarce otwórz poniższy adres URL, aby uzyskać jednorazową
kod dostępu:
http://EDGE_SSO_IP_DNS:9099/passcode
Jeśli masz skonfigurowane szyfrowanie TLS w Apigee SSO, użyj zasady
https
i prawidłowego portu TLS numer.To żądanie zwraca jednorazowy kod dostępu, który pozostaje ważny, dopóki nie odświeżysz tego adresu URL za pomocą uzyskać nowy kod dostępu lub użyć kodu dostępu za pomocą funkcji
get_token
, aby wygenerować token dostępu.Pamiętaj, że kodu dostępu możesz używać tylko podczas uwierzytelniania za pomocą dostawcy tożsamości SAML. Nie możesz użyć kod dostępu do uwierzytelniania u dostawcy tożsamości LDAP.
- Wywołaj
get_token
, aby uzyskać token dostępu OAuth2, jak w poniższym przykładzie:get_token -u EMAIL_ADDRESS
Gdzie EMAIL_ADDRESS to adres e-mail użytkownika Edge.
(dotyczy tylko SAML) W wierszu poleceń wpisz kod dostępu oprócz adresu e-mail, jak w tym przykładzie:
get_token -u EMAIL_ADDRESS -p PASSCODE
Narzędzie
get_token
uzyskuje token dostępu OAuth2, drukuje go w i zapisuje go oraz token odświeżania w~/.sso-cli
. - Przekaż token dostępu do wywołania interfejsu Edge Management API jako nagłówek
Bearer
. co widać w następnym przykładzie:curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP:8080/v1/organizations/ORG_NAME
- Gdy po raz pierwszy otrzymasz nowy token dostępu, możesz go uzyskać,
przekazać ją do wywołania interfejsu API w jednym poleceniu, jak w poniższym przykładzie:
header=`get_token` && curl -H "Authorization: Bearer $header" https://MS_IP:8080/v1/o/ORG_NAME
W przypadku tej formy polecenia po wygaśnięciu token dostępu automatycznie zostaje odświeża się, dopóki token odświeżania nie wygaśnie.
(Tylko SAML) Po wygaśnięciu tokena odświeżania get_token
poprosi o podanie nowego kodu dostępu. Ty
musi przejść do adresu URL wskazanego powyżej w kroku 3 i wygenerować nowy kod dostępu, zanim będzie można go wygenerować
nowy token dostępu OAuth.
Użyj interfejsu API zarządzania, aby pobrać i odświeżyć widok tokeny
Użyj protokołu OAuth2 za pomocą interfejsu Apigee Edge management API pokazuje, jak korzystać Interfejs Edge Management API pozwalający uzyskiwać i odświeżać tokeny. Aby uzyskać tokeny wygenerowane na podstawie oświadczeń SAML, możesz też użyć wywołań interfejsu Edge API.
Jedyna różnica między wywołaniami interfejsu API przedstawionymi w Przy użyciu protokołu OAuth2 za pomocą interfejsu Apigee Edge Management API oznacza, że adres URL wywołania musi odnosić się do nazwa strefy. Oprócz tego, aby wygenerować początkowy token dostępu za pomocą dostawcy tożsamości SAML, musisz uwzględnić tak jak w kroku 3 procedury powyżej.
Aby uzyskać autoryzację, prześlij zarezerwowane dane logowania klienta OAuth2 w polu nagłówka Authorization
. Połączenie wydrukuje na ekranie tokeny dostępu i odśwież.
Uzyskiwanie tokena dostępu
(LDAP) Użyj poniższego wywołania interfejsu API, aby wygenerować początkowy dostęp i odświeżyć widok tokeny:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ http://EDGE_SSO_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&username=USER_EMAIL&password=USER_PASSWORD'
(SAML) Użyj poniższego wywołania interfejsu API, aby wygenerować początkowy dostęp i odświeżyć stronę tokeny:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ https://EDGE_SSO_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&response_type=token&passcode=PASSCODE'
Pamiętaj, że uwierzytelnianie za pomocą dostawcy tożsamości SAML wymaga tymczasowego hasła, a dostawca tożsamości LDAP nie działa.
Odświeżanie tokena dostępu
Aby później odświeżyć token dostępu, użyj tego wywołania zawierającego token odświeżania:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ https://EDGE_SSO_IP_DNS:9099/oauth/token \ -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'