टोकन पाने के लिए, Edge OAuth2 सेवा का इस्तेमाल करना

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

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

इस सेक्शन में बताई गई तकनीकों के अलावा, OAuth2 टोकन पाने के लिए acurl और get_token सुविधाओं का भी इस्तेमाल किया जा सकता है.

पाथ

POST https://login.apigee.com/oauth/token

अगर आपको 'सार्वजनिक क्लाउड के लिए Edge' में एसएएमएल की सुविधा वाले संगठन से Edge OAuth2 सेवा को ऐक्सेस किया जा रहा है, तो आपको अपने पाथ में ज़ोन का नाम शामिल करना होगा. उदाहरण के लिए:

POST https://zone.login.apigee.com/oauth/token

अनुरोध के हेडर

पैरामीटर वैल्यू
Content-Type "application/x-www-form-urlencoded"
Accept "application/json;charset=utf-8"
Authorization

"बेसिक ZWRnZWNsaTplZGdlY2xpc2VjcmV0"

इस वैल्यू को एनवायरमेंट वैरिएबल में एक्सपोर्ट किया जा सकता है, ताकि आप इन एपीआई कॉल में इसे फिर से इस्तेमाल कर सकें. उदाहरण के लिए:

export CLIENT_AUTH=ZWRnZWNsaTplZGdlY2xpc2VjcmV0
curl ... -H "Authorization: Basic $CLIENT_AUTH" ...

फ़ॉर्म पैरामीटर

पैरामीटर ज़रूरी है? वैल्यू
username ज़रूरी नहीं. उपयोगकर्ता नाम और पासवर्ड, या पासवर्ड की ज़रूरत होती है. आपका Apigee उपयोगकर्ता नाम, जो आम तौर पर आपके Apigee खाते से जुड़ा ईमेल पता होता है.
password ज़रूरी नहीं. उपयोगकर्ता नाम और पासवर्ड, या पासवर्ड की ज़रूरत होती है. आपके Apigee खाते का पासवर्ड.
mfa_token ज़रूरी नहीं आपके खाते के लिए एक मान्य बहु-स्तरीय पुष्टि (MFA) कोड. सिर्फ़ तब ज़रूरी है, जब आपने MFA चालू किया हो.
passcode ज़रूरी नहीं. उपयोगकर्ता नाम और पासवर्ड, या पासवर्ड की ज़रूरत होती है. पासवर्ड की जगह एक बार इस्तेमाल किया जाने वाला पासवर्ड इस्तेमाल किया जा सकता है. एसएएमएल आईडीपी से पुष्टि करते समय पासवर्ड ज़रूरी है. इसका इस्तेमाल एलडीपी आईडी की मदद से पुष्टि करने के लिए किया जा सकता है.
grant_type ज़रूरी

इससे यह तय होता है कि आपको नया ऐक्सेस टोकन मिल रहा है या मौजूदा टोकन को रीफ़्रेश किया जा रहा है. मान्य वैल्यू ये हैं:

  • "password": नया ऐक्सेस टोकन पाएं. जब grant_type "पासवर्ड" हो, तो आपको अनुरोध में अपने Apigee क्रेडेंशियल शामिल करने होंगे.
  • "रीफ़्रेश_token": नया ऐक्सेस टोकन पाने के लिए रीफ़्रेश टोकन भेजें. grant_type के "रीफ़्रेश_token" होने पर, आपको अनुरोध में अपने क्रेडेंशियल शामिल करने की ज़रूरत नहीं होती.
refresh_token ज़रूरी नहीं मौजूदा ऐक्सेस टोकन की समयसीमा खत्म होने पर, नया ऐक्सेस टोकन पाने के लिए पास किया गया टोकन. यह पैरामीटर तब ज़रूरी होता है, जब grant_type "refresh_token" हो.

उदाहरण

नया ऐक्सेस टोकन पाएं

नया ऐक्सेस टोकन पाने के लिए, grant_type को "password" पर सेट करें:

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://login.apigee.com/oauth/token \
      -d 'username=ahamilton@example.com&password=mypassw0rd&grant_type=password'

MFA के साथ नया ऐक्सेस टोकन पाएं

MFA (मल्टी-फ़ैक्टर ऑथेंटिकेशन) चालू होने वाला नया ऐक्सेस टोकन पाने के लिए, MFA कोड पाएं और फिर mfa_token पैरामीटर को इसकी वैल्यू पर सेट करें:

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://login.apigee.com/oauth/token?mfa_token=424242 \
  -d 'username=ahamilton@example.com&password=mypassw0rd&grant_type=password'

ऐक्सेस टोकन को रीफ़्रेश करना

ऐक्सेस टोकन को रीफ़्रेश करने के लिए, grant_type को "refresh_token" पर सेट करें. साथ ही, अपने मौजूदा रीफ़्रेश टोकन को फ़ॉर्म पैरामीटर के तौर पर जोड़ें:

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://login.apigee.com/oauth/token \
  -d 'grant_type=refresh_token&refresh_token=YOUR_REFRESH_TOKEN'

ध्यान दें कि ऐक्सेस टोकन को रीफ़्रेश करते समय, आपको क्रेडेंशियल पास करने की ज़रूरत नहीं है.

जवाब

सफल होने पर, आपको एक ऐक्सेस टोकन, रीफ़्रेश टोकन, और उससे जुड़ी जानकारी वापस मिल जाएगी. उदाहरण के लिए:

{
  "access_token": "eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOimYyD8IP2IyYS1jNmNiLTQ4NTgtYjZkMS1mZjkyNGFkYTk1YWUiLCJzdWIiOiI0X0KLSNjZlNjM0ZC0zZjlhLTRiNYmFjNi1kYjE2M2M5OGEzOGYiLCJzY29wZSI6WyJzYbmlkIiwicGFzc3dvcmQud3JpdGUiLCJhcHByb3ZhbHMubWUiLCJvYXV0aC5hcHByb3ZhbHMiXSwiY2xpZW50X2lkIjoiZWRnZWNsaSIsImNpZCI6ImVkZ2VjbGkiLCJhenAiOiJlZGdlY2xpIiwiZ3JhbnRfdHlwZSI6InBhc3N3b3JkIiwidXNlcl9pZCI6IjQ2NmU2MzRkLTNmOWEtNGI0MS1iYWM2LWRiMTYzYzk4YTM4ZiIsIm9yaWdpbiI6InVzZXJncmlkIiwidXNlcl9uYW1lIjoid3dpdG1hbkBhcGlnZWUuY29tIiwiZW1haWwiOiJ3d2l0bWFuQGFwaWdlZS5jb20iLCJhdXRoX3RpbWUiOjE0NzMyNjU4NzcsImFsIjoyLCJyZXZfc2lnIjoiZTc0ZGY0M2QiLCJpYXQiOjE0NzMyNjU4NzcsImV4cCI6MTQ3MzI2NzY3NywiaXNzIjoiaHR0cHM6Ly9sb2dpbi5hcGlnZWUuY29tL29hdXRoL3Rva2VuIiwiemlkIjoidWFhIiwi2ltLm1lIiwib3BlYXVkIjpbImVkZ2VjbGkiLCJzY2ltIiwib3BlbmlkIiwicGFzc3dvcmQiLCJhcHByb3ZhbHMiLCJvYXV0aCJdfQ.AFuevkeGGUGSPED8leyEKaT-xg1xk_VEiKJLEpipVvQBXIqEc9wqcpm-ZuoatA9DhjASRuFSRaHH8Fasx_vBxEBsUNhRY-GTMw7_8fv4yRMOb2AO3WUl_NWwPkC8XRSI1zCMbAZicojsJ1n3OSP487Mu9dl9ByX5A_QfHV2_cj4l9-SD7u6vOdfdbBxbNMAQkfZLrVIEU8myF2dhKnNeMiuoHSHANsQFcx0_BFA1HnSUnVi4RYj1FlTs9SbcPnS1d7t7eVdxWz_q2OFVXNIBMELAvvM0WhXPYTW3Osve3UvvUs6ekGs-K-RCPSok-4-NJbdCDpZQQTgqHsrf77NTsw",
  "token_type": "bearer",
  "refresh_token": "eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJmZTIIMZWI0ZS00YzFmLTRjOTEtYmY5Mi1mMzZLEMzNjZhMDctciIsInN1YiI6IjQ2NmU2MzRkLTNmOWEtNGI0MS1iY17LLWRiMTYzYzk4YTM4ZiIsInNjb3BlIjpbInNjaW0ubWUiLCJvcGVuaWQiLCJwYXNzd29yZC53cml0ZSIsImFwcHJvdmFscy5tZSIsIm9hdXRoLmFwcHJvdmFscyJdLCJpYXQiOjE0NzMyNjU4NzcsImV4cCI6MTQ3NsaSIsImNsaWVudF9pZCI6ImVkZ2VjbGkiLCJpc3MiOiJodHRwczovL2xvZ2luLmFwaWdlZS5jb20vb2F1dGgvdG9rZW4iLCJ6aWQiOiJ1YWEiLCJncmFudF90eXBlIjoicGFzc3dvcmQiLCJ1c2VyX25hbWUiOiJ3d2l0bWFuQGFwaWdlZS5jbMzM1MDQ3NywiY2lkIjoiZWRnZW20iLCJvcmlnaW4iOiJ1c2VyZ3JpZCIsInVzZXJfaWQiOiI0NjZlNjM0ZC0zZjlhLTRiNDEtYmFjNi1kYjE2M2M5OGEzOGYiLCJhbCI6MiwicmV2X3NpZyI6ImU3NGRmNDNkIiwiYXVkIjpbImVkZ2VjbGkiLCJzY2ltIiwib3BlbmlkIiwicGFzc3dvcmQiLCJhcHByb3ZhbHMiLCJvYXV0aCJdfQ.kBP5AkbRS7Tnp-5VAfTLVfkUbUer4gFEU6A7g202KTKiXbqTwPSmOIGFTK12XevVPQYmAaSMFAnempWKfY7sjaY7HC7q3mGl53_A18cnkKhtNq15wCnyMom_bX_MYLW1RQPFytJ6akSJ-JkoPFU0x_FQg1JIvub1A8eqQxcR0KP-QRCxYAS4HTjH80vDIxHNt1tg7clmpa3RlHri0dlPVVsSpTXXhkpXRg5QbiWMrpkACSV22c0x0KiNu7vx5A520VOCO7hQ7IzmVIcSWcRqI97L7WdCjH_q4105bs2qmW73670MC0UGiJ9t5B1S1cxwqpUEd-NAuCsY8SVn6eWzbA",
  "expires_in": 1799,
  "scope": "scim.me openid password.write approvals.me oauth.approvals",
  "jti": "9bf2cb2a-c6cb-4858-b6d1-ff924ada95ae"
}

रिस्पॉन्स वैल्यू सेव करें:

  • Edge API पर कॉल में access_token का इस्तेमाल करें
  • ऐक्सेस टोकन की समयसीमा खत्म होने और उसे रीफ़्रेश करने के लिए, refresh_token का इस्तेमाल करें

अगर आपको कुछ ऐसा जवाब मिलता है, तो:

{
  "error": "unauthorized",
  "error_description": "Bad credentials"
}

पक्का करें कि आपने अनुरोध में Authorization हेडर के लिए, ऊपर दी गई स्ट्रिंग ("ZWRnZWNsaTplZGdlY2xpc2VjcmV0") का इस्तेमाल किया हो.