Edge API ile harici bir IDP kullanırken OAuth2'yi edinmek için kullandığınız işlem IDP etkileşimindeki erişim ve yenileme jetonlarına şifre kodu akışı denir. Şununla Şifre kodu akışında, bir defalık şifre kodu alırsınız ve bu şifre kodunu OAuth2'yi edinmek için kullanırsınız. jeton.
Ancak, geliştirme ortamınız yaygın geliştirme görevleri için otomasyonu destekleyebilir, Örneğin, test otomasyonu veya CI/CD. Harici bir IdP etkinleştirildiğinde bu görevleri otomatik hale getirmek için bir şifre kodunu kopyalayıp yapıştırmak zorunda kalmadan OAuth2 jetonlarını almak ve yenilemek için bir yönteme emin olun.
Edge, kuruluşlardaki makine kullanıcılarının kullanımı aracılığıyla otomatik jeton oluşturmayı destekler. Bu kullanıcıların IdP'si etkinleştirilmiş olmalıdır. Makine kullanıcısı OAuth2 jetonlarını almak için bir şifre kodu belirtmeniz gerekmez. Bu sayede kendinizi tamamen otomatik hale Edge management API'yi kullanarak OAuth2 jetonları alma ve yenileme işlemidir.
IDP etkin bir kuruluş için makine kullanıcısı oluşturmanın iki yolu vardır:
Bu yöntemlerin her biri sonraki bölümlerde açıklanmıştır.
Harici IdP'yi etkinleştirmemiş kuruluşlar için makine kullanıcısı oluşturamazsınız.
apigee-ssoadminapi.sh
ile makine kullanıcısı oluşturun
apigee-ssoadminapi.sh
kullanın
yardımcı programını kullanarak, IDP'nin etkin olduğu bir kuruluşta makine kullanıcısı oluşturabilirsiniz. Bkz.
Apigee-ssoadminapi.sh kodunu inceleyebilirsiniz. Tüm kullanıcılar tarafından kullanılan tek bir makine kullanıcısı
kuruluşlarınızı kullanabilir veya her kuruluş için ayrı makine kullanıcıları oluşturabilirsiniz.
Makine kullanıcısı IDP'nizde değil, Edge veri deposunda oluşturulur ve depolanır. Dolayısıyla, Edge kullanıcı arayüzü ve Edge yönetimi kullanarak makine kullanıcılarının bakımından sorumlu değildir API'ye gidin.
Makine kullanıcısını oluşturduğunuzda bir e-posta adresi ve şifre belirtmeniz gerekir. Şu tarihten sonra: makine kullanıcısını oluşturduktan sonra bir veya daha fazla kuruluşa atarsınız.
apigee-ssoadminapi.sh
ile makine kullanıcısı oluşturmak için:
- Makine kullanıcısını oluşturmak için aşağıdaki
apigee-ssoadminapi.sh
komutunu kullanın:apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME \ --secret SSO_ADMIN_SECRET --host Edge_SSO_IP_or_DNS \ -u machine_user_email -p machine_user_password
QUESTION/TBD: Does apigee-ssoadminapi.sh also take "ldap" as an argument?
Burada:
- SSO_ADMIN_NAME,
yapılandırma dosyasında kullanılan
SSO_ADMIN_NAME
özelliği Apigee TOA modülü. Varsayılan değer:ssoadmin
. - SSO_ADMIN_SECRET,
SSO_ADMIN_SECRET
özelliği ekleyin.Bu örnekte,
--port
veapigee-sso
modülü varsayılan değeri kullandığı için--ssl
--port
için 9099 ve--ssl
için http değerlerine karşılık gelir. Eğer yüklemede bu varsayılan ayarlar kullanılmıyorsa uygun şekilde belirtin.
- SSO_ADMIN_NAME,
yapılandırma dosyasında kullanılan
- Edge kullanıcı arayüzüne giriş yapın, makine kullanıcısının e-postasını kuruluşunuza ekleyin ve gereken role atanabilir. Görüntüleyin Genel kullanıcı ekleme daha fazla.
Edge ile makine kullanıcısı oluşturma management API'si
Ayrıca,
apigee-ssoadminapi.sh
yardımcı programı.
Yönetim API'si ile makine kullanıcısı oluşturmak için:
ssoadmin
kullanıcısı için jeton almak üzere aşağıdakicurl
komutunu kullanın:apigee-sso
için yönetici hesabının kullanıcı adı:curl "http://Edge_SSO_IP_DNS:9099/oauth/token" -i -X POST \ -H 'Accept: application/json' / -H 'Content-Type: application/x-www-form-urlencoded' \ -d "response_type=token" -d "grant_type=client_credentials" \ --data-urlencode "client_secret=SSO_ADMIN_SECRET" \ --data-urlencode "client_id=ssoadmin"
SSO_ADMIN_SECRET nerede, yüklerken ayarladığınız yönetici şifresidir?
SSO_ADMIN_SECRET
özelliği tarafından belirtildiği şekliyleapigee-sso
yapılandırma dosyası.Bu komut, bir sonraki çağrıyı yapmanız için gereken jetonu gösterir.
- Girdiğiniz jetonu ileterek makine kullanıcısını oluşturmak için aşağıdaki
curl
komutunu kullanın son adımda:curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST \ -H "Accept: application/json" -H "Content-Type: application/json" \ -d '{"userName" : "machine_user_email", "name" : {"formatted":"DevOps", "familyName" : "last_name", "givenName" : "first_name"}, "emails" : [ {"value" : "machine_user_email", "primary" : true } ], "active" : true, "verified" : true, "password" : "machine_user_password" }' \ -H "Authorization: Bearer token"
Sonraki adımlarda makine kullanıcısı şifresine ihtiyacınız olacaktır.
- Edge kullanıcı arayüzüne giriş yapın.
- Makine kullanıcısının e-postasını kuruluşunuza ekleyin ve makine kullanıcısını çok önemlidir. Bkz. Ekleme global kullanıcıları arayın.
Makine kullanıcı jetonları alın ve yenileyin
Makine kullanıcısının kimlik bilgileri girmeniz gerekir.
Makine kullanıcısı için OAuth2 jetonları almak üzere:
- İlk erişim ve yenileme jetonlarını 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" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ http://Edge_SSO_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&username=m_user_email&password=m_user_password'
Jetonları daha sonra kullanmak üzere kaydedin.
- Erişim jetonunu,
Bearer
üstbilgisi olarak bir Edge management API çağrısına iletin: aşağıdaki örnek gösterilmektedir:curl -H "Authorization: Bearer access_token" \ http://MS_IP_DNS:8080/v1/organizations/org_name
Burada org_name, makine kullanıcısını içeren kuruluşun adıdır.
- Erişim jetonunu daha sonra 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" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ http://edge_sso_IP_DNS:9099/oauth/token \ -d 'grant_type=refresh_token&refresh_token=refreshToken'