Temel Kimlik Doğrulama, Edge Management API'ye çağrı yaparken kullanabileceğiniz kimlik doğrulama yöntemlerinden biridir. Örneğin, örneğin, aşağıdaki cURL isteğini Edge management API'ye iletebilir ve kuruluşunuz hakkında:
curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
Bu örnekte, Temel Yetkilendirme kimlik bilgilerini iletmek için cURL -u seçeneğini kullanırsınız. Alternatif olarak Edge management API'yi oluşturmak için Bearer başlığında bir OAuth2 jetonu iletebilir. çağrısının en iyi yolu. Örneğin:
curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName
SAML'yi etkinleştirdikten sonra isteğe bağlı olarak Temel Kimlik Doğrulama'yı devre dışı bırakabilirsiniz. Temel Kimlik Doğrulama'yı devre dışı bırakırsanız Edge'e dayanan komut dosyaları (Maven komut dosyaları, kabuk komut dosyaları, Apigeetool vb.) Temel Kimlik Doğrulama'yı destekleyen management API çağrıları artık çalışmamaktadır. Tüm API çağrılarını ve Taşıyıcı üstbilgisindeki OAuth2 erişim jetonlarını aktarmak için Temel Kimlik Doğrulama'yı kullanan komut dosyaları.
Jetonları almak ve yenilemek için get_token kullanma
get_token yardımcı programı Temel Kimlik Doğrulama kimlik bilgilerinizi ve şifre kodunu OAuth2 erişimi ve yenileme jetonuyla değiştirir. İlgili içeriği oluşturmak için kullanılan get_token yardımcı programı kimlik bilgilerini gönderir ve geçerli bir erişim jetonu yazdırır. Jeton yenilenebiliyorsa yenilenebilir ve yazdırabilirsiniz. Yenileme jetonunun süresi dolarsa kullanıcı kimlik bilgileri istenir.
get_token yardımcı programı depoları gerektiğinde kullanılmak üzere hazır olur. Ayrıca stdout'a geçerli bir erişim jetonu da yazdırır. Buradan, Postman'i kullanabilir veya curl'de kullanmak üzere bir ortam değişkenine yerleştirebilirsiniz.
Aşağıdaki prosedürde, OAuth2 erişim jetonu almak için get_token yönteminin nasıl kullanılacağı açıklanmaktadır. Edge management API çağrıları yapın:
- sso-cli dosyasını indirin.
grup:
curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"
Burada edge_sso_IP_DNS, makinenin DNS adının IP adresidir. giriş yapıyor. Uç TOA'da TLS'yi yapılandırdıysanız
https
ve doğru TLS bağlantı noktası numarası. ssocli-bundle.zip
adlı paketin sıkıştırmasını açın:unzip ssocli-bundle.zip
- get_token kodunu yükleyin.
/usr/local/bin:
> ./install adresini ziyaret edin. -b seçeneği ile farklı konum: > ./yükleme -b path - SSO_LOGIN_URL'yi ayarlayın
ortam değişkenini giriş URL'nize şu biçimde ekleyin:
dışa aktar SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
Burada edge_sso_IP_DNS, makinenin DNS adının IP adresidir. giriş yapıyor. TLS'yi uç TOA'da yapılandırdıysanız https'yi ve doğru TLS bağlantı noktası numarasını kullanın. - Tarayıcıda, tek seferlik şifre kodunu almak için aşağıdaki URL'ye gidin:
http://edge_sso_IP_DNS:9099/passcode
. TLS'yi uç TOA'da yapılandırdıysanız https ve doğru TLS bağlantı noktası numarasını kullanın.
.
. Not: Şu anda kimlik sağlayıcınız tarafından giriş yapmadıysanız giriş yapmanız istenir.
.
. Bu URL, tek seferlik bir şifre kodu döndürür. Bu şifre kodunu almak için URL yenilenene kadar veya erişim jetonu oluşturmak için şifre kodunu get_token ile kullanırsanız. - Almak için get_token komutunu çağırın
OAuth2 erişim jetonu:
> get_token -u (get_token -u) emailAddress
Burada emailAddress, bir Edge kullanıcısının e-posta adresidir. Şu anki düzeyiniz: 3. adımda aldığınız tek kullanımlık şifre kodunu girmeniz istenir:
Tek Seferlik Kod ( https://edge_sso_IP.com/passcode )
SAML etkinse şifre kodunu girin veya ENTER tuşuna basın:
. Şifre kodunu girin. get_token yardımcı programı OAuth2 erişimini edinir kodu ekrana yazdırır, ekrana yazdırır, ardından yenileme jetonunu ~/.sso-cli konumuna yazar.
.
. Şifre kodunu, aşağıdaki biçimde bir get_token komutunu kullanarak komut satırına girebilirsiniz:
> get_token -u (get_token -u) emailAddress -p emailAddress - Erişim jetonunu, Taşıyıcı başlığı olarak bir Edge management API çağrısına iletin:
> curl -H "Yetkilendirme: Taşıyıcı access_token" https://ms_IP:8080/v1/organizations/orgName
. İlk kez yeni bir erişim jetonu aldıktan sonra, yeni bir erişim jetonunu aşağıdaki gibi tek bir komutla bir API çağrısına iletin:
> header=`get_token` && curl -H "Yetkilendirme: Taşıyıcı $header" https://ms_IP:8080/v1/o/orgName
. Komutun bu biçimiyle, erişim jetonunun süresi dolmuşsa jeton otomatik olarak yenilenir geçerlilik süresi sona erene kadar bekleyin.
Yenileme jetonunun süresi dolduktan sonra get_token, yeni bir şifre kodu girmenizi ister. Siz bir şifre kodu oluşturmadan önce, yukarıdaki 3. Adım'da gösterilen URL'ye gitmeniz ve yeni bir şifre kodu oluşturmanız gerekir: yeni OAuth erişim jetonu
Alma ve yenileme için management API'yi kullanma jetonlar
OAuth2'yi kullanma güvenlik duvarıyla ilgili daha kapsamlı bilgiler, Jetonları almak ve yenilemek için uç yönetim API'si. Ayrıca, jetonlar için Edge API çağrılarını da kullanabilirsiniz üretilir.
OAuth2 güvenliğini kullanma" bölümünde açıklanan API çağrıları arasındaki tek fark birlikte kullanılması, çağrı URL'sinin bölgenize referans vermesi gerektiği anlamına gelir. dokunun. Ayrıca, ilk erişim jetonunu oluşturmak için şifre kodunu da aşağıdaki prosedürün 3. adımında gösterilmiştir.
Örneğin, ilk 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 / https://edge_sso_IP_DNS:9099/oauth/token -s / -d 'grant_type=password&response_type=token&passcode=passcode'
Yetkilendirme için Yetkilendirme üstbilgisine ayrılmış bir OAuth2 istemcisi kimlik bilgisi iletin. Görüşmede, erişim ve yenileme jetonları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 / https://edge_sso_IP_DNS:9099/oauth/token / -d 'grant_type=refresh_token&refresh_token=refreshToken'