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

Edge for Private Cloud v. 4.17.09

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

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

टोकन पाने और रीफ़्रेश करने के लिए get_token का इस्तेमाल करना

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

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

नीचे दिए गए तरीके में, OAuth2 ऐक्सेस टोकन पाने के लिए get_token का इस्तेमाल करने का तरीका बताया गया है Edge management API कॉल करें:

  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, मशीन के डीएनएस नाम का आईपी पता है एज एसएसओ मॉड्यूल को होस्ट किया जा रहा है. अगर आपने Edge एसएसओ पर TLS को कॉन्फ़िगर किया है, तो इसका इस्तेमाल करें https और सही TLS पोर्ट नंबर.

  2. ssocli-bundle.zip बंडल को अनज़िप करें:
    unzip ssocli-bundle.zip
  3. get_token को इसमें इंस्टॉल करें /usr/local/bin:
    ./install

    कोई दूसरी जगह बताने के लिए -b विकल्प का इस्तेमाल करें:

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

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

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

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

    यह URL एक बार इस्तेमाल किया जाने वाला ऐसा पासवर्ड लौटाता है जो तब तक मान्य रहता है, जब तक कि आप या फिर ऐक्सेस जनरेट करने के लिए, get_token के साथ पासवर्ड का इस्तेमाल करें टोकन.

  6. OAuth2 ऐक्सेस टोकन पाने के लिए, get_token को शुरू करें:
    get_token -u emailAddress

    जहां emailAddress, Edge उपयोगकर्ता का ईमेल पता है. आप आपको तीसरे चरण में मिला, एक बार इस्तेमाल होने वाला पासवर्ड डालने के लिए कहा जाएगा:

    One Time Code ( Get one at https://edge_sso_IP.com/passcode )
          Enter the passcode if SAML is enabled or press ENTER:

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

    कमांड लाइन पर पासवर्ड डालने के लिए, get_token आदेश फ़ॉर्म में:

    get_token -u emailAddress -p passcode
  7. ऐक्सेस टोकन को बेयरर हेडर के तौर पर, Edge मैनेजमेंट एपीआई कॉल में पास करें:
    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 ऐक्सेस टोकन

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

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

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

उदाहरण के लिए, शुरुआती ऐक्सेस और रीफ़्रेश टोकन जनरेट करने के लिए, यहां दिए गए एपीआई कॉल का इस्तेमाल करें:

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'