Edge for Private Cloud w wersji 4.17.09
Uwierzytelnianie podstawowe to jeden ze sposobów uwierzytelniania podczas wykonywania wywołań interfejsu Edge Management API. Dla: możesz na przykład wysłać poniższe żądanie cURL do interfejsu Edge Management API, aby uzyskać dostęp do informacji o Twojej organizacji:
curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
W tym przykładzie do przekazywania podstawowych danych uwierzytelniających służy opcja cURL -u. Ewentualnie
może przekazać token OAuth2 w nagłówku Bearer
, aby utworzyć interfejs Edge Management API
połączeń. Na przykład:
curl -H "Authorization: Bearer <access_token>" https://ms_IP_DNS:8080/v1/organizations/orgName
Po włączeniu SAML możesz opcjonalnie wyłączyć uwierzytelnianie podstawowe. jeśli wyłączysz uwierzytelnianie podstawowe, wszystkie
skrypty (skrypty Maven, skrypty powłoki, apigeetool
itp.), które korzystają z Edge
wywołania interfejsu zarządzania API obsługujące uwierzytelnianie podstawowe nie będą już działać. Musisz zaktualizować wszystkie wywołania interfejsu API oraz
skrypty, które korzystają z uwierzytelniania podstawowego do przekazywania tokenów dostępu OAuth2 w nagłówku Bearer.
Używanie get_token do pobierania i odświeżania tokenów
Narzędzie get_token
wymienia dane uwierzytelniające podstawowe uwierzytelnianie i kod dostępu na token dostępu OAuth2 i token odświeżania.
Narzędzie get_token
akceptuje Twoją
dane logowania i wydrukuje prawidłowy token dostępu. Jeśli token można odświeżyć, spowoduje to jego odświeżenie i
go wydrukować. Jeśli token odświeżania wygaśnie, pojawi się prośba o podanie danych logowania użytkownika.
Sklepy wielobranżowe: get_token
tokeny na dysku gotowe do użycia w razie potrzeby. Wyświetla również prawidłowy token dostępu do standardowego protokołu.
Następnie możesz użyć Postmana lub umieścić go w zmiennej środowiskowej do wykorzystania w curl.
Poniżej opisano, jak za pomocą get_token
uzyskać token dostępu OAuth2 dla
wykonaj wywołania 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 komputera z nazwą DNS i hostuje moduł Edge SSO. Jeśli masz skonfigurowane logowanie TLS w Edge SSO, użyj
https
i prawidłowy numer portu TLS. - Rozpakuj pakiet
ssocli-bundle.zip
:unzip ssocli-bundle.zip
- Zainstaluj aplikację
get_token
/usr/local/bin
:
./install
Użyj opcji
-b
, aby wskazać inną lokalizację:./install -b path
- Ustaw zmienną środowiskową
SSO_LOGIN_URL
na adres URL logowania w postaci:export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
gdzie edge_sso_IP_DNS to adres IP komputera z nazwą DNS i hostuje moduł Edge SSO. Jeśli masz skonfigurowane logowanie TLS w Edge SSO, użyj
https
i prawidłowy numer portu TLS. - W przeglądarce otwórz ten adres URL, aby otrzymać jednorazowy kod dostępu:
http://edge_sso_IP_DNS:9099/passcode
Jeśli masz skonfigurowane szyfrowanie TLS na Edge SSO, użyj numeru
https
i prawidłowego numeru portu TLS.Ten adres URL zwraca jednorazowy kod dostępu, który pozostaje ważny do momentu odświeżenia go w celu uzyskania nowy kod dostępu lub użyjesz kodu dostępu i
get_token
, aby wygenerować dostęp token. - Wywołaj
get_token
, aby uzyskać token dostępu OAuth2:
get_token -u emailAddress
gdzie emailAddress to adres e-mail użytkownika Edge. Jesteś pojawi się prośba o wpisanie jednorazowego kodu dostępu uzyskanego w kroku 3:
One Time Code ( Get one at https://edge_sso_IP.com/passcode ) Enter the passcode if SAML is enabled or press ENTER:
Wpisz kod dostępu. Narzędzie
get_token
uzyskuje dostęp przez OAuth2 , drukuje go na ekranie i zapisuje oraz dodaje token odświeżania do~/.sso-cli
Hasło możesz wpisać w wierszu poleceń za pomocą
get_token
w formularzu:get_token -u emailAddress -p passcode
- Przekaż token dostępu do wywołania interfejsu Edge Management API w postaci nagłówka Bearer:
curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
Po uzyskaniu nowego tokena dostępu po raz pierwszy 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 jest automatycznie odświeżany aż do wygaśnięcia tokena odświeżania.
Gdy token odświeżania wygaśnie, 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 wygenerować
nowy token dostępu OAuth
Pobieranie i odświeżanie przy użyciu interfejsu API zarządzania tokeny
Przy użyciu protokołu OAuth2 zabezpieczeń w Apigee Edge Management API zawiera instrukcje, które pokazują, jak korzystać Interfejs Edge Management API pozwalający uzyskiwać i odświeżać tokeny. Do tokenów 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 Korzystanie z zabezpieczeń OAuth2 za pomocą interfejsu Apigee Edge Management API oznacza, że adres URL wywołania musi odnosić się do Twojej strefy. imię i nazwisko. Ponadto podczas generowania początkowego tokena dostępu musisz podać kod dostępu, przedstawione w kroku 3 powyższej procedury.
Aby na przykład wygenerować tokeny początkowego dostępu i odświeżania, użyj tego wywołania interfejsu API:
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'
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ż.
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'