Edge for Private Cloud w wersji 4.18.01
Uwierzytelnianie podstawowe to jeden ze sposobów uwierzytelniania podczas wykonywania wywołań interfejsu Edge Management API. Aby uzyskać dostęp do informacji o organizacji, możesz wysłać do interfejsu Edge Management API to żądanie cURL:
> 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 i skrypty, które korzystają z uwierzytelniania podstawowego, aby przekazywać tokeny dostępu OAuth2 w nagłówku Bearer.
Używanie get_token do pobierania i odświeżania tokenów
Narzędzie get_token wymienia Twoje dane logowania podstawowego i kod dostępu na token dostępu i odświeżania OAuth 2. Narzędzie get_token akceptuje Twoje dane logowania i wypisuje 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.
Narzędzie get_token przechowuje tokeny na dysku, aby były 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.
W tej procedurze opisano, jak użyć metody get_token, 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 nazwy DNS maszyny, na której działa moduł SSO Edge. Jeśli skonfigurowano TLS w Edge SSO, użyj https i prawidłowego numeru portu TLS. - Rozpakuj plik ssocli-bundle.zip
pakiet:
> rozpakować ssocli-bundle.zip - Zainstaluj get_token w
/usr/local/bin:
> ./install -b, aby określić inna lokalizacja: > ./instalacja -b ścieżka - Ustaw SSO_LOGIN_URL.
do adresu URL logowania w postaci:
eksport SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
gdzie edge_sso_IP_DNS to adres IP nazwy DNS komputera i hostuje moduł Edge SSO. Jeśli skonfigurowano TLS w Edge SSO, użyj https i prawidłowego numeru 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 TLS na Edge SSO, użyj https i prawidłowego numeru portu TLS.
Uwaga: jeśli nie masz obecnie zalogowanego dostawcy tożsamości, pojawi się prośba o zalogowanie.
Ten adres URL zwraca jednorazowy kod dostępu, który pozostaje ważny do momentu odświeżenia go w celu uzyskania lub użyjesz kodu dostępu z get_token do wygenerowania tokena dostępu. - Aby uzyskać token dostępu OAuth2, wywołaj funkcję get_token:
> 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:
Kod jednorazowy ( kup go u https://edge_sso_IP.com/passcode )
Wpisz kod dostępu, jeśli usługa SAML jest włączona, lub naciśnij ENTER:
Wpisz kod dostępu. Narzędzie get_token pobiera token dostępu OAuth2, drukuje go na ekranie i zapisuje wraz z tokenem odświeżania w pliku ~/.sso-cli.
Kod dostępu możesz wpisać w wierszu poleceń, używając polecenia get_token w formie:
> get_token -u emailAddress -p passcode - Przekaż token dostępu do wywołania interfejsu Edge Management API jako nagłówek 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 tym przykładzie:
> nagłówek=`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 tokenów za pomocą interfejsu Management API
Korzystanie z zabezpieczeń OAuth2 za pomocą interfejsu Edge management API w Apigee zawiera instrukcje dotyczące uzyskiwania i odświeżania tokenów za pomocą interfejsu Edge management API. Do tokenów wygenerowanych na podstawie oświadczeń SAML możesz też używać wywołań interfejsu Edge API.
Jedyna różnica między wywołaniami interfejsu API udokumentowanymi w sekcji 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. Aby wygenerować początkowy token dostępu, musisz też podać kod dostępu, jak w kroku 3 opisanej powyżej 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'
Aby uzyskać autoryzację, prześlij zarezerwowane dane logowania klienta OAuth2 w nagłówku Authorization. Wywołanie wyświetla na ekranie tokeny dostępu i odświeżania.
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'