get_token ve acurl yardımcı programlarını kullanma

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.json adresindeki 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 ve get_token bağımsız değişkenine iletir. Diğer tüm bağımsız değişkenleri (-X, -H, -d, -v, -s gibi) doğrudan standart curl işlevine yönlendirir.
  • Yürütme: get_token üzerinden geçerli bir jeton başarıyla alındıktan veya getirildikten sonra acurl, -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.