Edge for Private Cloud का वर्शन 4.18.05
Edge Management API को कॉल करते समय, पुष्टि करने का एक तरीका बेसिक ऑथेंटिकेशन है. उदाहरण के लिए, अपने संगठन की जानकारी ऐक्सेस करने के लिए, Edge Management API को यह cURL अनुरोध भेजा जा सकता है:
curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
इस उदाहरण में, बेसिक ऑथ क्रेडेंशियल पास करने के लिए, cURL -u विकल्प का इस्तेमाल किया जाता है. इसके अलावा, Edge Management API कॉल करने के लिए, Bearer हेडर में OAuth2 टोकन पास किया जा सकता है. उदाहरण के लिए:
curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName
SAML को चालू करने के बाद, आपके पास बेसिक ऑथ को बंद करने का विकल्प होता है. अगर आपने बेसिक ऑथ को बंद कर दिया, तो बेसिक ऑथ के साथ काम करने वाले Edge मैनेजमेंट एपीआई कॉल पर निर्भर सभी स्क्रिप्ट (Maven स्क्रिप्ट, शेल स्क्रिप्ट, apigeetool वगैरह) काम नहीं करेंगी. आपको उन सभी एपीआई कॉल और स्क्रिप्ट को अपडेट करना होगा जो Bearer हेडर में OAuth2 ऐक्सेस टोकन पास करने के लिए, बेसिक ऑथराइज़ेशन का इस्तेमाल करती हैं.
टोकन पाने और उन्हें रीफ़्रेश करने के लिए, get_token का इस्तेमाल करना
get_token यूटिलिटी, आपके बेसिक ऑथराइज़ेशन क्रेडेंशियल और पासकोड को OAuth2 ऐक्सेस और रीफ़्रेश टोकन के लिए बदल देती है. get_token यूटिलिटी, आपके क्रेडेंशियल स्वीकार करती है और एक मान्य ऐक्सेस टोकन प्रिंट करती है. अगर किसी टोकन को रीफ़्रेश किया जा सकता है, तो यह उसे रीफ़्रेश करेगा और प्रिंट करेगा. अगर रीफ़्रेश टोकन की समयसीमा खत्म हो जाती है, तो यह उपयोगकर्ता के क्रेडेंशियल मांगेगा.
get_token यूटिलिटी, टोकन को डिस्क पर सेव करती है. इससे ज़रूरत पड़ने पर, उनका इस्तेमाल किया जा सकता है. यह stdout में एक मान्य ऐक्सेस टोकन भी प्रिंट करता है. इसके बाद, Postman का इस्तेमाल किया जा सकता है या curl में इस्तेमाल करने के लिए, इसे एनवायरमेंट वैरिएबल में एम्बेड किया जा सकता है.
यहां दी गई प्रोसेस में, Edge Management API कॉल करने के लिए, OAuth2 ऐक्सेस टोकन पाने के लिए get_token का इस्तेमाल करने का तरीका बताया गया है:
- sso-cli बंडल डाउनलोड करें:
curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"
जहां edge_sso_IP_DNS, Edge एसएसओ मॉड्यूल को होस्ट करने वाली मशीन के डीएनएस नाम का आईपी पता है. अगर आपने Edge एसएसओ पर टीएलएस को कॉन्फ़िगर किया है, तो
httpsऔर सही टीएलएस पोर्ट नंबर का इस्तेमाल करें. ssocli-bundle.zipबंडल को अनज़िप करें:unzip ssocli-bundle.zip
- get_token को /usr/local/bin में इंस्टॉल करें:
> ./install कोई दूसरी जगह बताने के लिए, -b विकल्प का इस्तेमाल करें: > ./install -b path - SSO_LOGIN_URL एनवायरमेंट वैरिएबल को अपने लॉगिन यूआरएल पर सेट करें. इसके लिए, इस फ़ॉर्मैट का इस्तेमाल करें:
export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
जहां edge_sso_IP_DNS, Edge एसएसओ मॉड्यूल को होस्ट करने वाली मशीन के डीएनएस नाम का आईपी पता है. अगर आपने Edge SSO पर टीएलएस कॉन्फ़िगर किया है, तो https और सही टीएलएस पोर्ट नंबर का इस्तेमाल करें. - एक बार इस्तेमाल होने वाला पासकोड पाने के लिए, ब्राउज़र में इस यूआरएल पर जाएं:
http://edge_sso_IP_DNS:9099/passcode
अगर आपने Edge SSO पर टीएलएस कॉन्फ़िगर किया है, तो https और सही टीएलएस पोर्ट नंबर का इस्तेमाल करें.
ध्यान दें: अगर आपने फ़िलहाल, आइडेंटिटी प्रोवाइडर की मदद से लॉग इन नहीं किया है, तो आपको लॉग इन करने के लिए कहा जाएगा.
इस यूआरएल से, एक बार इस्तेमाल होने वाला पासकोड मिलता है. यह पासकोड तब तक मान्य रहता है, जब तक नया पासकोड पाने के लिए उस यूआरएल को रीफ़्रेश नहीं किया जाता या ऐक्सेस टोकन जनरेट करने के लिए, get_token के साथ पासकोड का इस्तेमाल नहीं किया जाता. - OAuth2 ऐक्सेस टोकन पाने के लिए, get_token को शुरू करें:
> get_token -u emailAddress
जहां emailAddress, Edge उपयोगकर्ता का ईमेल पता है. आपको तीसरे चरण में मिला, एक बार इस्तेमाल होने वाला पासकोड डालने के लिए कहा जाएगा:
एक बार इस्तेमाल होने वाला कोड ( कोड पाने के लिए, https://edge_sso_IP.com/passcode पर जाएं )
अगर एसएएमएल चालू है, तो पासकोड डालें या ENTER दबाएं:
पासकोड डालें. get_token यूटिलिटी, OAuth2 ऐक्सेस टोकन को हासिल करती है और उसे स्क्रीन पर दिखाती है. साथ ही, उसे और रीफ़्रेश टोकन को ~/.sso-cli में लिखती है.
कमांड लाइन में पासवर्ड डालने के लिए, get_token कमांड का इस्तेमाल करें. इसके लिए, यह फ़ॉर्मैट अपनाएं:
> get_token -u emailAddress -p passcode - ऐक्सेस टोकन को Edge मैनेजमेंट एपीआई कॉल में Bearer हेडर के तौर पर पास करें:
> curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
पहली बार नया ऐक्सेस टोकन पाने के बाद, ऐक्सेस टोकन को हासिल किया जा सकता है और उसे एक ही निर्देश में एपीआई कॉल को पास किया जा सकता है, जैसा कि यहां दिखाया गया है:
> header=`get_token` && curl -H "Authorization: Bearer $header" https://ms_IP:8080/v1/o/orgName
निर्देश के इस फ़ॉर्मैट में, अगर ऐक्सेस टोकन की समयसीमा खत्म हो गई है, तो वह अपने-आप रीफ़्रेश हो जाता है. ऐसा तब तक होता है, जब तक रीफ़्रेश टोकन की समयसीमा खत्म नहीं हो जाती.
रीफ़्रेश टोकन की समयसीमा खत्म होने के बाद, get_token आपसे नया पासवर्ड डालने के लिए कहता है. नया OAuth ऐक्सेस टोकन जनरेट करने से पहले, आपको तीसरे चरण में दिखाए गए यूआरएल पर जाना होगा और नया पासवर्ड जनरेट करना होगा
टोकन पाने और उन्हें रीफ़्रेश करने के लिए, Management API का इस्तेमाल करना
Apigee Edge मैनेजमेंट एपीआई के साथ OAuth2 सुरक्षा का इस्तेमाल करना लेख में, टोकन पाने और उन्हें रीफ़्रेश करने के लिए, Edge मैनेजमेंट एपीआई का इस्तेमाल करने के निर्देश दिए गए हैं. एसएएमएल असर्शन से जनरेट किए गए टोकन के लिए, Edge एपीआई कॉल का भी इस्तेमाल किया जा सकता है.
Apigee Edge मैनेजमेंट एपीआई के साथ OAuth2 सुरक्षा का इस्तेमाल करना लेख में बताए गए एपीआई कॉल के बीच सिर्फ़ यह अंतर है कि कॉल के यूआरएल में आपके ज़ोन का नाम होना चाहिए. इसके अलावा, शुरुआती ऐक्सेस टोकन जनरेट करने के लिए, आपको पासवर्ड शामिल करना होगा. इसके बारे में ऊपर दी गई प्रोसेस के तीसरे चरण में बताया गया है.
उदाहरण के लिए, शुरुआती ऐक्सेस और रीफ़्रेश टोकन जनरेट करने के लिए, इस एपीआई कॉल का इस्तेमाल करें:
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'
अनुमति पाने के लिए, Authorization हेडर में रिज़र्व किया गया OAuth2 क्लाइंट क्रेडेंशियल पास करें. कॉल, स्क्रीन पर ऐक्सेस और रीफ़्रेश टोकन दिखाता है.
ऐक्सेस टोकन को बाद में रीफ़्रेश करने के लिए, यहां दिए गए कॉल का इस्तेमाल करें. इसमें रीफ़्रेश टोकन शामिल होता है:
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'