get_token का इस्तेमाल करना

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

get_token(1) यूटिलिटी की मदद से, Apigee के क्रेडेंशियल के बदले ऐक्सेस और रीफ़्रेश टोकन हासिल किए जा सकते हैं. इन टोकन का इस्तेमाल, Edge API को ऐक्सेस करने के लिए किया जा सकता है. इन टोकन का इस्तेमाल, OAuth2 वर्कफ़्लो के SAML और एलडीएपी (LDAP) लागू करने के लिए भी किया जा सकता है.

get_token की मदद से, ये काम किए जा सकते हैं:

  • ऐक्सेस या रीफ़्रेश टोकन पाना.
  • वैरिएबल और निर्देश में इस्तेमाल करने के लिए, टोकन को stdout पर प्रिंट करना.
  • टोकन को अपनी डिस्क पर सेव करना.

इसके बाद, Edge API को किए जाने वाले अनुरोधों में मान्य टोकन जोड़ा जा सकता है. साथ ही, टोकन की समयसीमा खत्म होने पर नया टोकन पाया जा सकता है.

ज़रूरी शर्त: get_token का इस्तेमाल करने से पहले, इसे इंस्टॉल करना ज़रूरी है.

get_token का सिंटैक्स

get_token यूटिलिटी, इस सिंटैक्स का इस्तेमाल करती है:

get_token -u USERNAME:PASSWORD [-m MFACODE]

या

get_token -p passcode

कहां:

एलिमेंट ज़रूरी है? ब्यौरा
USERNAME ज़रूरी नहीं. उपयोगकर्ता नाम और पासवर्ड का कॉम्बिनेशन या पासकोड ज़रूरी है. आपका Apigee उपयोगकर्ता नाम. आम तौर पर, यह आपके Apigee खाते से जुड़ा ईमेल पता होता है. get_token को पहली बार कॉल करते समय, आपको अपना उपयोगकर्ता नाम या पासकोड देना होगा. ऐक्सेस और रीफ़्रेश टोकन की समयसीमा खत्म होने तक, आपको अपना ईमेल पता दोबारा नहीं देना होगा. अगर एक से ज़्यादा उपयोगकर्ताओं के लिए टोकन कैश किए जा रहे हैं, तो आपको हर कॉल में अपना उपयोगकर्ता नाम बताना होगा.
PASSWORD ज़रूरी नहीं. उपयोगकर्ता नाम और पासवर्ड का कॉम्बिनेशन या पासकोड ज़रूरी है. आपके Apigee खाते का पासवर्ड. अगर पासवर्ड नहीं दिया जाता है, तो आपसे पासवर्ड डालने के लिए कहा जाएगा जब आप पहली बार get_token का इस्तेमाल करेंगे और मान्य रीफ़्रेश टोकन के बिना किए जाने वाले अगले सभी कॉल में भी ऐसा ही होगा. अगर आपको निर्देश में सीधे तौर पर अपना पासवर्ड इस्तेमाल नहीं करना है, तो पासवर्ड के बजाय एक बार इस्तेमाल होने वाला पासकोड इस्तेमाल किया जा सकता है.
MFACODE ज़रूरी नहीं छह अंकों वाला अस्थायी, कई चरणों में पुष्टि (एमएफ़ए) कोड. अगर -u का इस्तेमाल किया जाता है और एमएफ़ए की सुविधा चालू है, तो यह कोड ज़रूरी है. अगर यह कोड नहीं दिया जाता है, तो आपसे इसके बारे में पूछा जाएगा. हालांकि, पासकोड मोड में ऐसा नहीं होगा. अगर एमएफ़ए की सुविधा चालू नहीं है, या आपके पास स्क्रिप्ट किया गया फ़्लो है, तो प्रॉम्प्ट से बचने के लिए -m "" बताया जा सकता है.
PASSCODE ज़रूरी नहीं. उपयोगकर्ता नाम और पासवर्ड का कॉम्बिनेशन या पासकोड ज़रूरी है. एक एक बार इस्तेमाल होने वाला पासकोड जिसका इस्तेमाल पासवर्ड की जगह किया जा सकता है. एसएएमएल आईडीपी (IdP) से पुष्टि करते समय, पासकोड ज़रूरी होता है. इसका इस्तेमाल एलडीएपी (LDAP) आईडीपी (IdP) से पुष्टि करने के लिए भी किया जा सकता है.

उदाहरण के लिए:

get_token
get_token -u ahamilton@apigee.com:mypassw0rd -m 424242
get_token -p mypass

कॉल पूरा होने पर, मान्य ऐक्सेस टोकन stdout पर प्रिंट होता है. साथ ही, ऐक्सेस और रीफ़्रेश टोकन, दोनों ~/.sso-cli में सेव हो जाते हैं. इन टोकन का इस्तेमाल, इनकी समयसीमा खत्म होने तक किया जा सकता है . इस बारे में, टोकन की समयसीमा खत्म होना लेख में बताया गया है.

get_token को पहली बार कॉल करने के बाद, टोकन की समयसीमा खत्म होने तक, आपको अपने क्रेडेंशियल शामिल करने की ज़रूरत नहीं होती.

get_token को पहली बार कॉल करना

अगर पहली बार कॉल करते समय कोई विकल्प नहीं चुना जाता है, तो get_token आपसे ये चीज़ें पूछेगा:

  • एसएएमएल आइडेंटिटी प्रोवाइडर (आईडीपी) से पुष्टि करने पर, पासकोड.
  • अन्य मामलों में, आपका उपयोगकर्ता नाम, पासवर्ड, और अस्थायी एमएफ़ए कोड.

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

get_token
Enter username:
ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com':
[hidden input]
Enter the six-digit code if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:
123456

ey42bGciOiJSUzI1NiJ9.eyJqdGkiOiJhM2YwNjA5ZC1lZTIxLTQ1YjAtOGQyMi04MTQ0MTYxNjNhNTMiLCJzdWIiOiIyZDFl
  <snip>
VlLmNvbSIsInppZCI6InVhYSIsImF1ZCI6WyJlZGdlY2xpIiwic2NpbSIsIm9wZW5pZCIsInBhc3N3b3JkIiwiYXBwcm54242

किसी अनुरोध में अपना ऐक्सेस टोकन जोड़ना

get_token को कॉल करने के बाद, ऐक्सेस टोकन का इस्तेमाल कई तरीकों से किया जा सकता है. इसके लिए, Edge API को किए जाने वाले कॉल के Authorization हेडर में इसे पास करें. ये काम किए जा सकते हैं:

  • get_token के जवाब का कॉन्टेंट कॉपी करें और इसे सीधे अपने हेडर में डालें:
    curl https://api.enterprise.apigee.com/v1/organizations/danger4242-eval \
      -H "Authorization: Bearer B42CnTIYPxr...88NI5Q"
  • टोकन पाने और उसे हेडर में जोड़ने के लिए, कमांड को मिलाएं:
    token=$(get_token); curl -H "Authorization: Bearer $token" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    ध्यान दें कि get_token कमांड सब्स्टिट्यूशन सिंटैक्स $(...) का इस्तेमाल करता है, ताकि इसे एक्ज़ीक्यूट किया जा सके.

  • curl कॉल के अंदर get_token को कॉल करें:
    curl -H "Authorization: Bearer $(get_token)" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    ध्यान दें कि get_token कमांड सब्स्टिट्यूशन सिंटैक्स $(...) का इस्तेमाल करता है, ताकि इसे एक्ज़ीक्यूट किया जा सके.

इन सैंपल अनुरोधों से, "ahamilton-eval" संगठन के बारे में जानकारी मिलती है. Edge API के एंडपॉइंट की पूरी सूची देखने के लिए, Apigee Edge API का रेफ़रंस देखें.

एसएएमएल और एलडीएपी (LDAP) के साथ get_token का इस्तेमाल करना

get_token यूटिलिटी का इस्तेमाल, एसएएमएल, एलडीएपी (LDAP) या किसी अन्य आईडीपी (IdP) के साथ किया जा सकता है. get_token, एसएसओ (SSO) के एक से ज़्यादा लॉगिन यूआरएल और एक से ज़्यादा खातों के इस्तेमाल की सुविधा देता है. एक से ज़्यादा खातों वाले किसी उपयोगकर्ता से, हर get_token कॉल के लिए उपयोगकर्ता नाम बताने के लिए कहा जाएगा.

get_token की कैश मेमोरी मिटाना

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

  • --clear-sso-cache

    SSO_LOGIN_URL के लिए, $HOME/.sso-cli में मौजूद कैश डायरेक्ट्री मिटाता है. साथ ही, सर्वर के लिए कैश किए गए ऐक्सेस और रीफ़्रेश टोकन को हटाता है.

  • --clear-all-sso-cache

    $HOME/.sso-cli में मौजूद सभी डायरेक्ट्री मिटाता है. साथ ही, कैश किए गए सभी टोकन को हटाता है.


(1) कॉपीराइट 2023 Google LLC
get_token टूल को "सॉफ़्टवेयर" के तौर पर उपलब्ध कराया गया है. यह टूल, Google Cloud Platform के इस्तेमाल को कंट्रोल करने वाले समझौते के तहत आता है. इसमें, सेवा से जुड़ी खास शर्तें भी शामिल हैं. ये शर्तें, https://cloud.google.com/terms/service-terms पर उपलब्ध हैं.