EDGE मैनेजमेंट एपीआई के साथ बाहरी आईडीपी का इस्तेमाल करना

Edge मैनेजमेंट एपीआई को कॉल करते समय, पुष्टि करने का एक तरीका बेसिक ऑथेंटिकेशन है. उदाहरण के लिए, अपने संगठन की जानकारी ऐक्सेस करने के लिए, Edge Management API से curl का अनुरोध किया जा सकता है:

curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName

इस उदाहरण में, पुष्टि करने के बुनियादी क्रेडेंशियल पास करने के लिए, curl -u विकल्प का इस्तेमाल किया जाता है. इसके अलावा, Edge मैनेजमेंट एपीआई कॉल करने के लिए, Bearer हेडर में OAuth2 टोकन पास किया जा सकता है. इसके बारे में यहां दिए गए उदाहरण में बताया गया है:

curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName

पुष्टि करने के लिए बाहरी आईडीपी को चालू करने के बाद, आपके पास पुष्टि करने के बुनियादी तरीके को बंद करने का विकल्प होता है. अगर पुष्टि करने का बुनियादी तरीका बंद किया जाता है, तो वे सभी स्क्रिप्ट (जैसे, Maven, शेल, और apigeetool) काम नहीं करेंगी जो पुष्टि करने के बुनियादी तरीके के साथ काम करने वाले Edge मैनेजमेंट एपीआई कॉल पर निर्भर करती हैं. आपको उन सभी एपीआई कॉल और स्क्रिप्ट को अपडेट करना होगा जो Bearer हेडर में OAuth2 ऐक्सेस टोकन पास करने के लिए, पुष्टि करने के सामान्य तरीके का इस्तेमाल करती हैं.

get_token की मदद से टोकन पाना और रीफ़्रेश करना

get_token यूटिलिटी, पुष्टि करने के बुनियादी क्रेडेंशियल (और कुछ मामलों में पासकोड) को OAuth2 ऐक्सेस और रीफ़्रेश टोकन से बदल देती है. get_token यूटिलिटी आपके क्रेडेंशियल स्वीकार करती है और एक मान्य ऐक्सेस टोकन दिखाती है. अगर किसी टोकन को रीफ़्रेश किया जा सकता है, तो यूटिलिटी उसे रीफ़्रेश करके वापस कर देती है. अगर रीफ़्रेश टोकन की समयसीमा खत्म हो जाती है, तो यह उपयोगकर्ता के क्रेडेंशियल मांगेगा.

get_token यूटिलिटी, टोकन को डिस्क पर सेव करती है, ताकि ज़रूरत पड़ने पर उनका इस्तेमाल किया जा सके. यह stdout पर एक मान्य ऐक्सेस टोकन भी प्रिंट करता है. इसके बाद, Postman जैसे ब्राउज़र एक्सटेंशन का इस्तेमाल किया जा सकता है या curl में इस्तेमाल करने के लिए, इसे एनवायरमेंट वैरिएबल में एम्बेड किया जा सकता है.

Edge Management API कॉल करने के लिए, OAuth2 ऐक्सेस टोकन पाने के लिए:

  1. sso-cli बंडल डाउनलोड करें:
    curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"

    जहां edge_sso_IP_DNS, Apigee एसएसओ मॉड्यूल को होस्ट करने वाली मशीन का आईपी पता या डीएनएस नाम है. अगर आपने Apigee एसएसओ पर टीएलएस कॉन्फ़िगर किया है, तो https और सही टीएलएस पोर्ट नंबर का इस्तेमाल करें.

  2. ssocli-bundle.zip बंडल को अनज़िप करें, जैसा कि इस उदाहरण में दिखाया गया है:
    unzip ssocli-bundle.zip
  3. get_token को /usr/local/bin में इंस्टॉल करें, जैसा कि इस उदाहरण में दिखाया गया है:
    ./install -b path

    -b विकल्प, किसी दूसरी जगह की जानकारी देता है.

  4. SSO_LOGIN_URL एनवायरमेंट वैरिएबल को अपने लॉगिन यूआरएल पर सेट करें. इसके लिए, इस फ़ॉर्मैट का इस्तेमाल करें:
    export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"

    जहां edge_sso_IP_DNS, Apigee एसएसओ मॉड्यूल को होस्ट करने वाली मशीन का आईपी पता है. अगर आपने Apigee एसएसओ पर टीएलएस को कॉन्फ़िगर किया है, तो https और सही टीएलएस पोर्ट नंबर का इस्तेमाल करें

  5. (सिर्फ़ एसएएमएल के लिए) किसी ब्राउज़र में, एक बार इस्तेमाल होने वाला पासकोड पाने के लिए, इस यूआरएल पर जाएं:
    http://edge_sso_IP_DNS:9099/passcode

    अगर आपने Apigee एसएसओ पर टीएलएस को कॉन्फ़िगर किया है, तो https और सही टीएलएस पोर्ट नंबर का इस्तेमाल करें

    इस अनुरोध से, एक बार इस्तेमाल होने वाला पासकोड मिलता है. यह पासकोड तब तक मान्य रहता है, जब तक नया पासकोड पाने के लिए उस यूआरएल को रीफ़्रेश नहीं किया जाता या ऐक्सेस टोकन जनरेट करने के लिए, get_token के साथ पासकोड का इस्तेमाल नहीं किया जाता.

    ध्यान दें कि पासवर्ड का इस्तेमाल सिर्फ़ तब किया जा सकता है, जब एसएएमएल आईडीपी से पुष्टि की जा रही हो. एलडीएपी आईडीपी की मदद से पुष्टि करने के लिए, पासवर्ड का इस्तेमाल नहीं किया जा सकता.

  6. OAuth2 ऐक्सेस टोकन पाने के लिए, get_token को शुरू करें. इसका उदाहरण यहां दिया गया है:
    get_token -u emailAddress

    यहां emailAddress, Edge इस्तेमाल करने वाले व्यक्ति का ईमेल पता है.

    (सिर्फ़ एसएएमएल के लिए) ईमेल पते के साथ-साथ, कमांड लाइन में पासकोड डालें. इसके लिए, यहां दिया गया उदाहरण देखें:

    get_token -u emailAddress -p passcode

    get_token यूटिलिटी, OAuth2 ऐक्सेस टोकन को हासिल करती है और उसे स्क्रीन पर दिखाती है. साथ ही, उसे और रीफ़्रेश टोकन को ~/.sso-cli में लिखती है.

  7. ऐक्सेस टोकन को Edge मैनेजमेंट एपीआई कॉल में Bearer हेडर के तौर पर पास करें. इसका उदाहरण यहां दिया गया है:
    curl -H "Authorization: Bearer access_token"
      https://ms_IP:8080/v1/organizations/orgName
  8. पहली बार नया ऐक्सेस टोकन मिलने के बाद, ऐक्सेस टोकन को हासिल किया जा सकता है और उसे एक ही निर्देश में एपीआई कॉल को पास किया जा सकता है. इसके बारे में यहां दिए गए उदाहरण में बताया गया है:
    header=`get_token` && curl -H "Authorization: Bearer $header"
      https://ms_IP:8080/v1/o/orgName

    निर्देश के इस फ़ॉर्मैट में, अगर ऐक्सेस टोकन की समयसीमा खत्म हो गई है, तो रीफ़्रेश टोकन की समयसीमा खत्म होने तक, ऐक्सेस टोकन अपने-आप रीफ़्रेश हो जाता है.

(सिर्फ़ एसएएमएल के लिए) रीफ़्रेश टोकन की समयसीमा खत्म होने के बाद, get_token आपसे नया पासवर्ड डालने के लिए कहता है. नया OAuth ऐक्सेस टोकन जनरेट करने से पहले, आपको तीसरे चरण में दिखाए गए यूआरएल पर जाना होगा और नया पासवर्ड जनरेट करना होगा.

टोकन पाने और उन्हें रीफ़्रेश करने के लिए, मैनेजमेंट एपीआई का इस्तेमाल करना

Apigee Edge मैनेजमेंट एपीआई के साथ OAuth2 सुरक्षा का इस्तेमाल करना लेख में, टोकन पाने और रीफ़्रेश करने के लिए, Edge मैनेजमेंट एपीआई का इस्तेमाल करने का तरीका बताया गया है. SAML असर्शन से जनरेट किए गए टोकन पाने के लिए, Edge API कॉल का भी इस्तेमाल किया जा सकता है.

Apigee Edge मैनेजमेंट एपीआई के साथ OAuth2 सुरक्षा का इस्तेमाल करना में बताए गए एपीआई कॉल के बीच सिर्फ़ यह अंतर है कि कॉल के यूआरएल में आपके ज़ोन का नाम होना चाहिए. इसके अलावा, एसएएमएल आईडीपी के साथ शुरुआती ऐक्सेस टोकन जनरेट करने के लिए, आपको पासकोड शामिल करना होगा. इसके बारे में ऊपर दी गई प्रोसेस के तीसरे चरण में बताया गया है.

अनुमति पाने के लिए, 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 -s /
  -d 'grant_type=password&response_type=token'

(एसएएमएल) शुरुआती ऐक्सेस और रीफ़्रेश टोकन जनरेट करने के लिए, इस एपीआई कॉल का इस्तेमाल करें:

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'

ध्यान दें कि एसएएमएल आईडीपी से पुष्टि करने के लिए, कुछ समय के लिए इस्तेमाल होने वाले पासकोड की ज़रूरत होती है. हालांकि, एलडीएपी आईडीपी के लिए इसकी ज़रूरत नहीं होती.

ऐक्सेस टोकन रीफ़्रेश करना

ऐक्सेस टोकन को बाद में रीफ़्रेश करने के लिए, यहां दिए गए कॉल का इस्तेमाल करें. इसमें रीफ़्रेश टोकन शामिल होता है:

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'