Korzystanie z zewnętrznego dostawcy tożsamości przy użyciu interfejsu Edge Management API

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 na potrzeby wywołań interfejsu Edge Management API:

  1. 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.

  2. Rozpakuj pakiet ssocli-bundle.zip zgodnie z poniższym przykładem:
    unzip ssocli-bundle.zip
  3. Zainstaluj dodatek get_token w aplikacji /usr/local/bin, zgodnie z tym przykładem:
    ./install -b PATH

    Opcja -b określa inną lokalizację.

  4. 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.

  5. (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.

  6. 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.

    (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 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.

  7. 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
  8. 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. Ż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 \
  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'