Edge API ile harici bir IdP kullanırken CLI'dan OIDC/OAuth2 erişim jetonları almak için standart işlem OAuth 2.0 cihaz kodu akışıdır. Bu akışta, kimliğinizi IdP'niz üzerinden doğrulamak için bir tarayıcıda URL'yi ziyaret etmenizi isteyen ve ardından terminalinizin engellemesini otomatik olarak kaldıran get_token yardımcı programını kullanırsınız.
Ancak geliştirme ortamınız, test otomasyonu veya CI/CD ardışık düzenleri gibi yaygın geliştirme görevleri için otomasyonu destekleyebilir. Harici bir IDP etkinleştirildiğinde bu görevleri otomatikleştirmek için tarayıcı etkileşimi gerektirmeden OAuth2 jetonlarını başsız olarak alıp yenilemenin bir yolunu bulmanız gerekir.
Edge, başsız makine kullanıcıları aracılığıyla otomatik jeton oluşturmayı destekler. Makine kullanıcıları, tarayıcıya gerek kalmadan standart şifre izinleri aracılığıyla OIDC/OAuth2 jetonları alabilir. Bu sayede, komut dosyalarınız için jeton alma ve yenileme jetonu alma sürecini tamamen otomatikleştirebilirsiniz.
Makine kullanıcısı oluşturma
Tüm kuruluşlarınız tarafından kullanılan bir makine kullanıcısı oluşturabilir veya her kuruluş için ayrı bir makine kullanıcısı oluşturabilirsiniz.
Makine kullanıcısı doğrudan yerel OpenLDAP dizininde oluşturulup depolanır ve açıkça makine kullanıcısı (employeeType: machineuser) olarak etiketlenir. Bu sayede Apigee TOA, birleşik SAML/OIDC gerçek kullanıcılar için kesin olarak zorunlu kılındığında bile makine kullanıcısının kimliğini şifre izni aracılığıyla güvenli bir şekilde doğrulayabilir.
Makine kullanıcılarını oluşturma, listeleme ve yönetme ile ilgili ayrıntılı talimatlar için apigee-machineuser.sh ile makine kullanıcılarını yönetme başlıklı makaleyi inceleyin.
Makine kullanıcısı jetonlarını alma ve yenileme
Makine kullanıcıları için jeton almak üzere /opt/apigee/apigee-openldap/bin/ içinde sağlanan get_token ve acurl yardımcı programlarını veya standart curl'yi kullanabilirsiniz.
- Apigee Utilities'i kullanma:
get_tokenveacurlsarmalayıcıları, jeton önbelleğe alma, yük oluşturma ve otomatik yenilemeyi otomatik olarak işler. Bu araçları kullanmayla ilgili ayrıntılı talimatlar ve örnekler için get_token ve acurl yardımcı programlarını kullanma başlıklı makaleyi inceleyin. - Standart curl kullanma: Otomasyon komut dosyalarınızın Apigee sarmalayıcılarına erişimi yoksa aşağıdaki standart
curlkomutlarını kullanarak Apigee TOA ile doğrudan etkileşim kurabilirsiniz:
Standart curl kullanarak jetonları almak ve yenilemek için:
- İlk erişim ve yenileme jetonlarını doğrudan Apigee SSO'dan oluşturmak için aşağıdaki API çağrısını kullanın:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -X POST http://Edge_SSO_IP_DNS:9099/token -s \ -d 'grant_type=password&username=machineUserEmail&password=machineUserPassword&client_id=edgecli&client_secret=edgeclisecret&scope=openid%20profile%20email%20offline_access' - Erişim jetonunu
Authorization: Bearerüstbilgisinde bir Edge Management API'si çağrısına iletin:curl -H "Authorization: Bearer access_token" \ http://MS_IP_DNS:8080/v1/organizations/org_name
- Erişim jetonunu daha sonra yerel olarak yenilemek için yenileme jetonunu içeren aşağıdaki çağrıyı kullanın:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -X POST http://Edge_SSO_IP_DNS:9099/token \ -d 'grant_type=refresh_token&refresh_token=refreshToken&client_id=edgecli&client_secret=edgeclisecret'