Uwierzytelnianie podstawowe to jeden ze sposobów uwierzytelniania podczas wywoływania interfejsu Edge Management API.
Możesz na przykład wysłać do interfejsu Edge Management API żądanie curl
, aby uzyskać dostęp do informacji o Twojej organizacji:
curl -u USER_NAME:PASSWORD https://MS_IP_DNS:8080/v1/organizations/ORG_NAME
W tym przykładzie do przekazywania podstawowych danych uwierzytelniających używasz opcji curl
-u
. Możesz też przekazać token OAuth2 w nagłówku Bearer
, aby wykonywać wywołania interfejsu Edge Management API, jak pokazano w poniższym 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ć uwierzytelnianie podstawowe. Jeśli wyłączysz uwierzytelnianie podstawowe, wszystkie skrypty (w tym Maven, powłoka i apigeetool
) korzystające z wywołań interfejsu API zarządzania urządzeniami brzegowymi obsługującego uwierzytelnianie podstawowe przestaną działać. Musisz zaktualizować wszystkie wywołania i skrypty interfejsu API korzystające z uwierzytelniania podstawowego, aby przekazywać tokeny dostępu OAuth2 w nagłówku Bearer
.
Uzyskiwanie i odświeżanie tokenów za pomocą polecenia get_token
Narzędzie get_token
wymienia Twoje podstawowe dane uwierzytelniające (a w niektórych przypadkach kod dostępu) na token dostępu OAuth2 i odświeżania. Narzędzie get_token
akceptuje Twoje dane logowania i zwraca prawidłowy token dostępu. Jeśli token można odświeżyć, narzędzie odświeży go i zwróci. 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 w razie potrzeby. Drukuje też prawidłowy token dostępu na urządzeniu stdout
. Następnie możesz użyć rozszerzenia przeglądarki, takiego jak Postman, lub umieścić je w zmiennej środowiskowej, aby używać jej 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 komputera hostującego moduł logowania jednokrotnego Apigee. Jeśli w przypadku logowania jednokrotnego w Apigee skonfigurowano protokół TLS, użyj
https
i prawidłowego numeru portu TLS. - Rozpakuj pakiet
ssocli-bundle.zip
zgodnie z tym przykładem:unzip ssocli-bundle.zip
- Zainstaluj
get_token
w przeglądarce/usr/local/bin
, zgodnie z tym przykładem:./install -b PATH
Opcja
-b
określa inną lokalizację. - Ustaw zmienną środowiskową
SSO_LOGIN_URL
na adres URL logowania w takiej postaci:export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"
Gdzie EDGE_SSO_IP_DNS to adres IP maszyny hostującej moduł logowania jednokrotnego Apigee. Jeśli w przypadku logowania jednokrotnego w Apigee skonfigurowano protokół TLS, użyj
https
i prawidłowego numeru portu TLS. - (Tylko SAML) W przeglądarce otwórz ten URL, aby uzyskać jednorazowy kod dostępu:
http://EDGE_SSO_IP_DNS:9099/passcode
Jeśli w przypadku logowania jednokrotnego w Apigee skonfigurowano protokół TLS, użyj
https
i prawidłowego numeru portu TLS.To żądanie zwraca jednorazowy kod dostępu, który pozostaje ważny, dopóki nie odświeżysz adresu URL, aby uzyskać nowy kod dostępu, lub nie wygenerujesz tokena dostępu za pomocą kodu
get_token
.Pamiętaj, że kodu dostępu możesz użyć tylko podczas uwierzytelniania u dostawcy tożsamości SAML. Do uwierzytelnienia u dostawcy tożsamości LDAP nie możesz użyć kodu dostępu.
- Wywołaj
get_token
, aby uzyskać token dostępu OAuth2, jak pokazano w tym przykładzie:get_token -u EMAIL_ADDRESS
Gdzie EMAIL_ADDRESS to adres e-mail użytkownika Edge.
(Tylko SAML) Oprócz adresu e-mail wpisz kod dostępu zarówno w wierszu poleceń, jak i w tym przykładzie:
get_token -u EMAIL_ADDRESS -p PASSCODE
Narzędzie
get_token
uzyskuje token dostępu OAuth2, wyświetla go na ekranie i zapisuje go oraz token odświeżania w usłudze~/.sso-cli
. - Przekaż token dostępu do wywołania interfejsu Edge Management API jako nagłówek
Bearer
, jak w tym przykładzie:curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP:8080/v1/organizations/ORG_NAME
- Po otrzymaniu nowego tokena dostępu możesz go uzyskać i przekazać do wywołania interfejsu API w jednym poleceniu, jak pokazano 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, jeśli token dostępu wygasł, będzie automatycznie odświeżany, dopóki token odświeżania nie wygaśnie.
(Tylko SAML) Po wygaśnięciu tokena odświeżania aplikacja get_token
prosi o nowy kod dostępu. Aby wygenerować nowy token dostępu OAuth, musisz przejść do adresu URL widocznego powyżej w kroku 3 i wygenerować nowy kod dostępu.
Pobieraj i odświeżaj tokeny za pomocą interfejsu API zarządzania
Korzystanie z zabezpieczeń OAuth2 w interfejsie Apigee Edge Management API pokazuje, jak za pomocą interfejsu Edge Management API uzyskiwać i odświeżać tokeny. Do pobierania tokenów wygenerowanych na podstawie potwierdzeń SAML możesz też używać wywołań Edge API.
Jedyną różnicą między wywołaniami interfejsu API udokumentowanymi w artykule Korzystanie z zabezpieczeń OAuth2 w interfejsie Apigee Edge Management API jest to, że URL wywołania musi się odnosić do nazwy strefy. Dodatkowo, aby wygenerować początkowy token dostępu z dostawcą tożsamości SAML, musisz podać kod dostępu, tak jak w kroku 3 powyżej.
W celu autoryzacji przekaż zarezerwowane dane uwierzytelniające klienta OAuth2 w nagłówku Authorization
. Wywołanie wyświetla na ekranie token dostępu i tokeny odświeżania.
Uzyskiwanie tokena dostępu
(LDAP) Użyj tego wywołania interfejsu API, aby wygenerować wstępne tokeny dostępu i 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 \ http://EDGE_SSO_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&username=USER_EMAIL&password=USER_PASSWORD'
(SAML) Użyj tego wywołania interfejsu API, aby wygenerować wstępne tokeny dostępu i 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 -s \ -d 'grant_type=password&response_type=token&passcode=PASSCODE'
Pamiętaj, że uwierzytelnianie u dostawcy tożsamości SAML wymaga tymczasowego kodu dostępu, a w przypadku dostawcy tożsamości LDAP go nie wymaga.
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'