Apigee udostępnia narzędzia get_token i acurl, które upraszczają interakcję z logowaniem jednokrotnym Apigee i interfejsem Edge Management API. Te narzędzia automatycznie obsługują generowanie, buforowanie, odświeżanie i wstawianie tokenów.
Narzędzia są instalowane w węźle OpenLDAP w lokalizacji /opt/apigee/apigee-openldap/bin/.
Narzędzie get_token
Narzędzie get_token odpowiada za uzyskiwanie tokenów dostępu i odświeżania OIDC/OAuth2. Obsługuje 2 podstawowe procesy uwierzytelniania i obejmuje wbudowane buforowanie tokenów.
Procesy uwierzytelniania
- Device Code Flow (RFC 8628): przeznaczony dla użytkowników, którzy uwierzytelniają się za pomocą zewnętrznego dostawcy tożsamości (np. SAML, Okta lub OIDC). Jeśli podasz tylko adres e-mail (
-u <email>), narzędzie zainicjuje ten proces i wyświetli adres URL oraz kod do zatwierdzenia w przeglądarce. - Password Grant (ROPC): przeznaczony dla użytkowników korzystających z maszyn bez interfejsu graficznego i skryptów automatycznych. Jeśli podasz zarówno nazwę użytkownika, jak i hasło (
-u <user>:<password>), narzędzie uwierzytelni się bezpośrednio w SSO w Apigee bez interakcji z przeglądarką.
Buforowanie tokenów i automatyczne odświeżanie
Narzędzie get_token automatycznie zarządza cyklami życia tokenów, dzięki czemu nie musisz ręcznie śledzić czasu wygaśnięcia:
- Sprawdzanie pamięci podręcznej: po wywołaniu narzędzie
get_tokensprawdza lokalną pamięć podręczną w lokalizacji~/.sso-cli/<username>-token.json. Jeśli istnieje prawidłowy token, który nie wygasł, narzędzie użyje go ponownie bez ponownego uwierzytelniania. - Automatyczne odświeżanie: jeśli token dostępu w pamięci podręcznej wygasł, ale istnieje prawidłowy token odświeżania, narzędzie automatycznie wymieni token odświeżania w SSO w Apigee na nowy token dostępu.
Zmienne środowiskowe
Opcjonalnie możesz dostosować działanie narzędzia get_token za pomocą tych zmiennych środowiskowych:
SSO_LOGIN_URL: adres URL logowania jednokrotnego Apigee (domyślnie:http://localhost:9099).CLIENT_ID: identyfikator klienta OAuth2 (domyślnie:edgecli).CLIENT_SECRET: tajny klucz klienta OAuth2 (domyślnie:edgeclisecret).
Narzędzie acurl
Narzędzie acurl to przezroczysta otoczka standardowego narzędzia curl. Dba o to, aby każde żądanie do interfejsu API zawierało prawidłowy token okaziciela.
- Rozdzielanie argumentów: narzędzie wyodrębnia argument
-u <user:password>lub-u <user>i przekazuje go do narzędziaget_token. Wszystkie inne argumenty (np.-X,-H,-d,-v,-s) przekazuje bezpośrednio do standardowego narzędziacurl. - Wykonanie: po pomyślnym uzyskaniu lub pobraniu prawidłowego tokena z narzędzia
get_tokennarzędzieacurlautomatycznie wstawia nagłówek-H "Authorization: Bearer <token>"do wywołania narzędziacurl.
Przykłady użycia
Przykład 1. Logowanie interaktywne użytkownika
/opt/apigee/apigee-openldap/bin/acurl -u developer@apigee.com http://MS_IP_DNS:8080/v1/organizations
To polecenie wstrzymuje działanie, prosi użytkownika o przejście do przeglądarki w celu uwierzytelnienia za pomocą zewnętrznego dostawcy tożsamości, a następnie wykonuje wywołanie API po zatwierdzeniu.
Przykład 2. Logowanie bez interfejsu graficznego użytkownika korzystającego z maszyny
/opt/apigee/apigee-openldap/bin/acurl -u jenkins-bot@apigee.com:Secret123! http://MS_IP_DNS:8080/v1/organizations
To polecenie uwierzytelnia się bezpośrednio za pomocą Password Grant i natychmiast wykonuje wywołanie API.
Przykład 3. Ponowne użycie tokena w pamięci podręcznej
/opt/apigee/apigee-openldap/bin/acurl http://MS_IP_DNS:8080/v1/users
Ponieważ token został zapisany w pamięci podręcznej w poprzednich krokach, nie musisz ponownie podawać argumentu -u. Narzędzie odczytuje token z pamięci podręcznej i automatycznie go wstawia.