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

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

curl -u USER_NAME:PASSWORD http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

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

curl -H "Authorization: Bearer ACCESS_TOKEN" http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

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

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

get_token यूटिलिटी, OIDC/OAuth2 ऐक्सेस और रीफ़्रेश टोकन पाने के लिए, OAuth 2.0 के डिवाइस कोड फ़्लो के स्टैंडर्ड वर्शन का इस्तेमाल करती है. यह यूटिलिटी, आपको अपने ब्राउज़र में एक यूआरएल पर जाने के लिए कहती है, ताकि बाहरी आईडीपी (या स्थानीय एलडीएपी) के ज़रिए पुष्टि की जा सके. इसके बाद, यह मान्य ऐक्सेस टोकन को प्रिंट करने के लिए, आपके टर्मिनल को अपने-आप अनब्लॉक कर देती है.

get_token यूटिलिटी, टोकन को ~/.sso-cli/ में डिस्क पर सुरक्षित तरीके से कैश करती है, ताकि ज़रूरत पड़ने पर उनका इस्तेमाल किया जा सके. यह stdout पर मान्य ऐक्सेस टोकन भी प्रिंट करती है. अगर किसी मौजूदा टोकन को रीफ़्रेश किया जा सकता है, तो यह यूटिलिटी उसे अपने-आप रीफ़्रेश कर देगी. अगर रीफ़्रेश टोकन की समयसीमा खत्म हो जाती है, तो यह ब्राउज़र पर आधारित ऑथराइज़ेशन का नया फ़्लो शुरू करेगी.

Edge मैनेजमेंट एपीआई को कॉल करने के लिए, OAuth2 ऐक्सेस टोकन पाने का तरीका:

  1. get_token और acurl यूटिलिटी, Apigee SSO (OpenLDAP नोड) को होस्ट करने वाले नोड पर पहले से इंस्टॉल होती हैं. ये यूटिलिटी, /opt/apigee/apigee-openldap/bin/
  2. (ज़रूरी नहीं) SSO_LOGIN_URL एनवायरमेंट वैरिएबल को, अपने एसएसओ जारी करने वाले यूआरएल पर इस फ़ॉर्मैट में सेट करें:
    export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"

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

  3. OAuth 2.0 के डिवाइस कोड फ़्लो को शुरू करने के लिए, अपने ईमेल पते के साथ get_token को कॉल करें:
    /opt/apigee/apigee-openldap/bin/get_token -u EMAIL_ADDRESS

    यहां EMAIL_ADDRESS, Edge के किसी उपयोगकर्ता का ईमेल पता है.

  4. यह यूटिलिटी, आपके टर्मिनल पर एक यूआरएल और आठ वर्णों का डिवाइस कोड प्रिंट करेगी और रुक जाएगी:
    Please visit: http://EDGE_SSO_IP_DNS:9099/device
    And enter code: ABCD-EFGH
  5. अपने ब्राउज़र में दिया गया यूआरएल खोलें, डिवाइस कोड डालें, और सबमिट करें पर क्लिक करें. आपको पुष्टि करने और अनुरोध को मंज़ूरी देने के लिए, अपने बाहरी आईडीपी (या स्थानीय एलडीएपी फ़ॉर्म) पर रीडायरेक्ट किया जाएगा.
  6. ब्राउज़र में पुष्टि करने के बाद, अपने टर्मिनल पर वापस जाएं. get_token यूटिलिटी, मंज़ूरी को अपने-आप पहचान लेगी, OAuth2 ऐक्सेस टोकन हासिल करेगी, उसे स्क्रीन पर प्रिंट करेगी, और सुरक्षित तरीके से कैश करेगी.
  7. कैश किए गए टोकन को अपने-आप पढ़ने और Bearer हेडर को इंजेक्ट करने वाली acurl यूटिलिटी का इस्तेमाल करके, ऐक्सेस टोकन को Edge मैनेजमेंट एपीआई कॉल में पास करें:
    /opt/apigee/apigee-openldap/bin/acurl http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

    इसके अलावा, स्टैंडर्ड curl का इस्तेमाल करके, टोकन को मैन्युअल तरीके से पास किया जा सकता है:

    curl -H "Authorization: Bearer ACCESS_TOKEN" \
      http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

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

लेगसी /passcode एंडपॉइंट को हटा दिया गया है. इसलिए, शुरुआती पुष्टि के लिए, लोगों को ब्राउज़र पर आधारित OAuth 2.0 के डिवाइस कोड फ़्लो को शुरू करने के लिए, पहले बताए गए तरीके से get_token यूटिलिटी का इस्तेमाल करना होगा.

अगर स्क्रिप्ट या सीआई/सीडी पाइपलाइन लिखी जा रही हैं, जो ब्राउज़र के साथ इंटरैक्ट नहीं कर सकती हैं, तो मशीन उपयोगकर्ताओं की मदद से टास्क ऑटोमेट करना लेख पढ़ें. मान्य क्रेडेंशियल वाले मशीन उपयोगकर्ता या ऐप्लिकेशन, टोकन पाने और रीफ़्रेश करने के लिए, स्टैंडर्ड एपीआई कॉल का इस्तेमाल कर सकते हैं.