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

Apigee Edge का दस्तावेज़ देखा जा रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

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

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

पाथ

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

अगर Edge for Public Cloud में, SAML की सुविधा वाले संगठन से 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) करने का मान्य कोड. इसकी ज़रूरत सिर्फ़ तब होती है, जब आपने एमएफ़ए (मल्टी-फ़ैक्टर ऑथेंटिकेशन) की सुविधा चालू की हो.
passcode ज़रूरी नहीं. उपयोगकर्ता नाम और पासवर्ड का कॉम्बिनेशन या पासवर्ड डालना ज़रूरी है. एक बार इस्तेमाल होने वाला पासकोड, जिसका इस्तेमाल आप पासवर्ड डालें. एसएएमएल आईडीपी से पुष्टि करते समय पासवर्ड की ज़रूरत होती है और इसका इस्तेमाल किया जा सकता है का इस्तेमाल करें.
grant_type ज़रूरी है

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

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

उदाहरण

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

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

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_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"
}

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