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

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

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

    यह यूआरएल, एक बार इस्तेमाल होने वाला पासवर्ड दिखाता है. यह तब तक मान्य रहता है, जब तक कि नया पासवर्ड पाने के लिए उस यूआरएल को रीफ़्रेश नहीं किया जाता या ऐक्सेस टोकन जनरेट करने के लिए, 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 ऐक्सेस टोकन जनरेट करने से पहले, आपको ऊपर दिए गए तीसरे चरण में दिखाए गए यूआरएल पर जाना होगा और नया पासकोड जनरेट करना होगा

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

Apigee Edge मैनेजमेंट एपीआई के साथ OAuth2 सुरक्षा का इस्तेमाल करना लेख में, टोकन पाने और रीफ़्रेश करने के लिए, Edge मैनेजमेंट एपीआई का इस्तेमाल करने का तरीका बताया गया है. SAML एश्योरेशन से जनरेट किए गए टोकन के लिए, 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'