Apigee, Apigee SSO ve Edge yönetim API'si ile etkileşimi kolaylaştırmak için get_token ve acurl yardımcı programlarını sağlar. Bu araçlar, jeton oluşturma, önbelleğe alma, yenileme ve yerleştirme işlemlerini otomatik olarak gerçekleştirir.
Yardımcı programlar, /opt/apigee/apigee-openldap/bin/ adresindeki OpenLDAP düğümüne yüklenir.
get_token yardımcı programı
get_token yardımcı programı, OIDC/OAuth2 erişim ve yenileme jetonlarını almaktan sorumludur. İki birincil kimlik doğrulama akışını destekler ve yerleşik jeton önbelleğe alma özelliğini içerir.
Kimlik doğrulama akışları
- Cihaz kodu akışı (RFC 8628): Harici bir kimlik sağlayıcı (ör. SAML, Okta veya OIDC) üzerinden kimlik doğrulaması yapan kullanıcılar için tasarlanmıştır. Yalnızca bir e-posta adresi (
-u <email>) iletirseniz yardımcı program bu akışı başlatır ve tarayıcıda onaylamanız için bir URL ve kod ister. - Şifre verme (ROPC): Başsız makine kullanıcıları ve otomatik komut dosyaları için tasarlanmıştır. Hem kullanıcı adı hem de şifre iletirseniz (
-u <user>:<password>), tarayıcı etkileşimi olmadan doğrudan Apigee TOA'ya karşı kimlik doğrulaması yapılır.
Jeton önbelleğe alma ve otomatik yenileme
get_token yardımcı programı, jeton yaşam döngülerini otomatik olarak yönetir. Bu sayede, geçerlilik bitiş tarihlerini manuel olarak takip etmeniz gerekmez:
- Önbellek Kontrolü:
get_tokençağrıldığında~/.sso-cli/<username>-token.jsonadresindeki yerel önbelleği kontrol eder. Geçerli ve süresi dolmamış bir jeton varsa yeniden kimlik doğrulama yapmadan jetonu yeniden kullanır. - Otomatik yenileme: Önbelleğe alınan erişim jetonunun süresi dolmuşsa ancak geçerli bir yenileme jetonu varsa yardımcı program, Apigee TOA'daki yenileme jetonunu otomatik olarak yeni bir erişim jetonuyla değiştirir.
Ortam değişkenleri
İsteğe bağlı olarak aşağıdaki ortam değişkenlerini kullanarak get_token davranışını özelleştirebilirsiniz:
SSO_LOGIN_URL: Apigee TOA URL'si (varsayılan:http://localhost:9099).CLIENT_ID: OAuth2 istemci kimliği (varsayılan:edgecli).CLIENT_SECRET: OAuth2 istemci gizli anahtarı (varsayılan:edgeclisecret).
acurl yardımcı programı
acurl yardımcı programı, standart curl etrafındaki şeffaf bir sarmalayıcıdır. Her API isteğinin geçerli bir hamiline ait jeton içermesini sağlar.
- Bağımsız Değişken Ayırma: Yardımcı program,
-u <user:password>veya-u <user>bağımsız değişkenini ayıklar veget_tokenbağımsız değişkenine iletir. Diğer tüm bağımsız değişkenleri (-X,-H,-d,-v,-sgibi) doğrudan standartcurlişlevine yönlendirir. - Yürütme:
get_tokenüzerinden geçerli bir jeton başarıyla alındıktan veya getirildikten sonraacurl,-H "Authorization: Bearer <token>"başlığınıcurlçağrısına otomatik olarak ekler.
Kullanım örnekleri
1. örnek: Gerçek bir kullanıcı için etkileşimli giriş
/opt/apigee/apigee-openldap/bin/acurl -u developer@apigee.com http://MS_IP_DNS:8080/v1/organizations
Bu komut duraklatılır, kullanıcıdan harici IdP'si aracılığıyla kimlik doğrulaması yapmak için bir tarayıcıyı ziyaret etmesini ister ve onaylandıktan sonra API çağrısını yürütür.
2. örnek: Makine kullanıcısı için gözetimsiz giriş
/opt/apigee/apigee-openldap/bin/acurl -u jenkins-bot@apigee.com:Secret123! http://MS_IP_DNS:8080/v1/organizations
Bu komut, doğrudan Password Grant aracılığıyla kimlik doğrulaması yapar ve API çağrısını hemen yürütür.
3. örnek: Önbelleğe alınmış bir jetonu yeniden kullanma
/opt/apigee/apigee-openldap/bin/acurl http://MS_IP_DNS:8080/v1/users
Jeton önceki adımlarda önbelleğe alındığı için -u bağımsız değişkenini tekrar sağlamanız gerekmez. Yardımcı program, önbelleğe alınmış jetonu okur ve otomatik olarak ekler.