एसएएमएल के साथ Edge एपीआई ऐक्सेस करें

Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं.
जानकारी

एसएएमएल सिंगल साइन-ऑन (एसएसओ) एनवायरमेंट के साथ काम करता है. Edge के साथ एसएएमएल का इस्तेमाल करने पर, आपकी ओर से दी जाने वाली और एसएएमएल के साथ काम करने वाली अन्य सेवाओं के अलावा, Edge यूज़र इंटरफ़ेस (यूआई) और एपीआई के लिए एसएसओ (SSO) की सुविधा काम करती है.

ज़रूरी शर्तें: EDGE API को ऐक्सेस करने के लिए इसका इस्तेमाल करने से पहले, आपको कम से कम एक संगठन के लिए एसएएमएल चालू करना होगा.

एसएएमएल और OAuth2 में फ़र्क़

एसएएमएल सेट अप हो जाने के बाद, इसे इस्तेमाल करना, Edge API को ऐक्सेस करने के लिए OAuth2 का इस्तेमाल करने जैसा ही है. Edge API को कॉल करने पर, आपको अपने अनुरोध में OAuth2 ऐक्सेस टोकन शामिल किया जाता है.

Edge API को ऐक्सेस करते समय एसएएमएल और OAuth2 के बीच का मुख्य अंतर यह है कि आपको टोकन मिलते हैं. एसएएमएल के साथ, आपको टोकन जोड़ने के लिए यह जानकारी शामिल करनी होगी:

  1. ज़ोन: सार्वजनिक क्लाउड के लिए Edge का इस्तेमाल करने वाले लोगों को टोकन पाते समय अपने ज़ोन का नाम बताना होगा.
  2. पासकोड: ऐक्सेस/रीफ़्रेश टोकन पेयर का अनुरोध करते समय, एक बार इस्तेमाल होने वाला पासवर्ड शामिल करें.

एसएएमएल, Edge OAuth2 सेवा पर वही एंडपॉइंट इस्तेमाल करता है जो सही ज़ोन के नाम के साथ जोड़े जाते हैं.

एसएएमएल के साथ ऐक्सेस टोकन पाने के लिए, इनमें से कोई एक तरीका अपनाया जा सकता है. इसका तरीका इस सेक्शन में बताया गया है:

इसके अलावा, आपके पास मशीन के उपयोगकर्ताओं के लिए टोकन जनरेट करने की प्रोसेस को ऑटोमेट करने का विकल्प है. इस बारे में, टोकन जनरेट करने की प्रोसेस को ऑटोमेट करें लेख में बताया गया है.

get_token की मदद से ऐक्सेस टोकन पाएं

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

get_token के साथ ऐक्सेस टोकन पाने के लिए:

  1. अपने लॉगिन यूआरएल में, SSO_LOGIN_URL एनवायरमेंट वैरिएबल सेट करें. लॉगिन यूआरएल में यह फ़ॉर्म शामिल है:
    https://zoneName.login.apigee.com

    उदाहरण के लिए, "acme" नाम के ज़ोन के लिए, SSO_LOGIN_URL को "https://acme.login.apigee.com" पर सेट करें, जैसा कि आगे दिए गए उदाहरण में बताया गया है:

    export SSO_LOGIN_URL=https://acme.login.apigee.com
  2. OAuth2 ऐक्सेस टोकन पाने के लिए get_token को कॉल करें:
    get_token -u me@example.com

    एक बार इस्तेमाल होने वाला पासवर्ड पाने के लिए, आपको दिखाए गए यूआरएल पर जाने के लिए कहा जाएगा:

    Get passcode from https://acme.login.apigee.com/passcode
    [Note:  Passcode can be used only time time and expires] Input passcode (no spaces) and then press ENTER:

    अगर आपने हाल ही में अपने आइडेंटिटी प्रोवाइडर की मदद से साइन इन नहीं किया है, तो आपको साइन इन करने के लिए प्रॉम्प्ट किया जाएगा.

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

  3. पासवर्ड डालें. get_token इस्तेमाल करने वाली कंपनी, OAuth2 टोकन लेती है और ऐक्सेस टोकन को stdout पर प्रिंट करती है. साथ ही, ~/.sso-cli पर ऐक्सेस और रीफ़्रेश टोकन लिखती है.

  4. Edge API को कॉल करें और Authorization: Bearer हेडर में ऐक्सेस टोकन पास करें, जैसा कि इस उदाहरण में दिखाया गया है:
    curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
      -H "Authorization: Bearer ACCESS_TOKEN"

    ऐक्सेस टोकन की वैल्यू को stdout से कॉपी किया जा सकता है.

    इस उदाहरण में, संगठन के बारे में जानकारी दी गई है. मैनेजमेंट एपीआई एंडपॉइंट की पूरी सूची के लिए, Apigee Edge API का रेफ़रंस देखें.

ऐक्सेस टोकन की समयसीमा खत्म होने के बाद, get_token को फिर से कॉल करके नया ऐक्सेस टोकन पाया जा सकता है. उदाहरण के लिए:

get_token -u me@example.com

आपको तब तक नए पासवर्ड का अनुरोध नहीं किया जाएगा, जब तक रीफ़्रेश टोकन की समयसीमा खत्म नहीं हो जाती.

रीफ़्रेश टोकन की समयसीमा खत्म होने पर, get_token आपको नया पासवर्ड डालने का अनुरोध करता है. नया OAuth2 ऐक्सेस टोकन जनरेट करने से पहले, आपको एक नया पासवर्ड जनरेट करना होगा.

Edge OAuth2 सेवा की मदद से ऐक्सेस टोकन पाना

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

Edge API के साथ टोकन जोड़ा पाने के लिए:

  1. एक बार इस्तेमाल होने वाला पासवर्ड पाने के लिए, ब्राउज़र में इस यूआरएल पर जाएं:
    https://zoneName.login.apigee.com/passcode

    उदाहरण के लिए, "acme" नाम के ज़ोन के लिए, इस यूआरएल पर जाएं:

    https://acme.login.apigee.com/passcode

    अगर आपने हाल ही में अपने आइडेंटिटी प्रोवाइडर की मदद से साइन इन नहीं किया है, तो आपको साइन इन करने के लिए प्रॉम्प्ट किया जाएगा.

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

  2. Edge API को अनुरोध भेजें, जैसा कि इस उदाहरण में दिखाया गया है:
    curl https://zoneName.login.apigee.com/oauth/token \
          -s \
          -H "Accept: application/json" \
          -d 'grant_type=password&response_type=token&passcode=passcode'

    अनुमति देने के लिए, passcode आपके क्रेडेंशियल के तौर पर काम करता है.

    जगह:

    • Authorization हेडर "बुनियादी ZWRnZWNsaTplZGdlY2xpc2VjcmV0" है (बिलकुल इसी वैल्यू का इस्तेमाल करें).
    • अनुरोध का टाइप POST है.
    • अनुरोध के कोड में यह जानकारी शामिल है:
      • grant_type "password" है.
      • response_type एक "टोकन" है.
      • passcode, जहां passcode वह पासवर्ड है जो पिछले चरण में दिखाया गया था.

    कॉल, ऐक्सेस और रीफ़्रेश टोकन को स्क्रीन पर प्रिंट करता है.

ऐक्सेस टोकन को रीफ़्रेश करने के लिए:

https://zoneName.login.apigee.com/oauth/token को अनुरोध सबमिट करें, जैसा कि इस उदाहरण में दिखाया गया है:

curl https://zoneName.login.apigee.com/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'

जगह:

  • अनुरोध के कोड में यह जानकारी शामिल है:
    • grant_type "रीफ़्रेश_टोकन" है.
    • refresh_token रीफ़्रेश टोकन की वैल्यू है.
  • Authorization हेडर "बुनियादी ZWRnZWNsaTplZGdlY2xpc2VjcmV0" है (बिलकुल इसी वैल्यू का इस्तेमाल करें).
  • अनुरोध का टाइप POST है.

एसएएमएल के साथ Edge API को ऐक्सेस करें

Edge API को ऐक्सेस करने के लिए, curl या Apigee सुविधा acurl जैसे टूल इस्तेमाल किए जा सकते हैं.

curl के साथ, Edge API को कॉल करके Authorization: Bearer हेडर में ऐक्सेस टोकन पास किया जाता है, जैसा कि इस उदाहरण में दिखाया गया है:

curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
  -H "Authorization: Bearer ACCESS_TOKEN"

acurl के साथ, आपको Authorization हेडर के बारे में बताने की ज़रूरत नहीं है. उदाहरण के लिए:

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

ये उदाहरण EDGE API एंडपॉइंट को कॉल करते हैं, जो दिए गए संगठन के बारे में जानकारी देता है. Edge API के एंडपॉइंट की पूरी सूची के लिए, Apigee Edge API का संदर्भ देखें.

एपीआई को कॉल करने के अन्य तरीकों के साथ-साथ, यह पक्का करने के लिए कि आपका टोकन अप-टू-डेट रहे, यह जानने के लिए OAuth2 की मदद से Edge API को ऐक्सेस करना देखें.

एसएएमएल ज़ोन में मशीन उपयोगकर्ता

एसएएमएल ज़ोन में मशीन उपयोगकर्ताओं के लिए, Edge एपीआई के अपने-आप ऐक्सेस स्क्रिप्ट करने के लिए, acurl और get_token सुविधाओं का इस्तेमाल किया जा सकता है. इस उदाहरण में, ऐक्सेस टोकन का अनुरोध करने के लिए get_token का इस्तेमाल करने और फिर टोकन वैल्यू को curl कॉल में जोड़ने का तरीका बताया गया है:

  USER=me@example.com
  PASS=not-that-secret
  TOKEN=$(get_token -u $USER:$PASS -m '' --force-basic-auth)
  curl -H "Authorization: Bearer $TOKEN" 'https://api.enterprise.apigee.com/v1/organizations/...'

ऊपर दिए गए उदाहरण में, -m की वैल्यू को किसी खाली स्ट्रिंग पर सेट करने से मशीन इस्तेमाल करने वाले व्यक्ति को MFA कोड के लिए अनुरोध करने से रोक दिया जाएगा. --force-basic-auth फ़्लैग का इस्तेमाल करने से, एसएएमएल ज़ोन से किए गए अनुरोधों से ट्रिगर होने वाले पासवर्ड के लिए, स्टैंडर्ड प्रॉम्प्ट बदल जाएगा.

इसके अलावा, acurl यूटिलिटी का इस्तेमाल करके टोकन अनुरोध और curl कॉल को एक साथ जोड़ा जा सकता है. उदाहरण के लिए:

  USER=me@example.com
  PASS=not-that-secret
  acurl -u $USER:$PASS -m '' --force-basic-auth 'https://api.enterprise.apigee.com/v1/organizations/...'