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 userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
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/orgName
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ż wyświetla prawidłowy token dostępu do standardowego protokołu. 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 na potrzeby 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 serwer Moduł Apigee SSO. 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 adres URL logowania w następujący sposób: formularz:export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
Gdzie edge_sso_IP_DNS to adres IP maszyny hostującej logowanie jednokrotne w 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 emailAddress
Gdzie emailAddress to adres e-mail użytkownika Edge.
(Tylko SAML) Wpisz kod dostępu nie tylko w adresie e-mail, ale też w wierszu poleceń Jak w tym przykładzie:
get_token -u emailAddress -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/orgName
- 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/orgName
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. Żeby uzyskiwać tokeny, możesz też używać wywołań interfejsu Edge API wygenerowanych na podstawie asercji SAML.
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.
W celu autoryzacji przekaż zarezerwowane dane logowania klienta OAuth2 w narzędziu Authorization
nagłówek. 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 / https://edge_sso_IP_DNS:9099/oauth/token -s / -d 'grant_type=password&response_type=token'
(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=refreshToken'