টোকেন পেতে Edge OAuth2 পরিষেবা ব্যবহার করা

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।

আপনি একটি অ্যাক্সেস এবং রিফ্রেশ টোকেনের জন্য আপনার শংসাপত্রগুলি বিনিময় করতে Edge OAuth2 পরিষেবা ব্যবহার করতে পারেন যা আপনি আপনার OAuth ওয়ার্কফ্লোতে এজ এন্ডপয়েন্ট কল করতে ব্যবহার করেন৷

এই বিভাগে বর্ণিত কৌশলগুলি ছাড়াও, আপনি OAuth2 টোকেন পেতে acurl এবং get_token ইউটিলিটিগুলিও ব্যবহার করতে পারেন।

পথ

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

আপনি যদি পাবলিক ক্লাউডের জন্য এজ-এ একটি SAML-সক্ষম org থেকে Edge OAuth2 পরিষেবা অ্যাক্সেস করেন, তাহলে আপনাকে অবশ্যই আপনার পথে জোনের নাম অন্তর্ভুক্ত করতে হবে। উদাহরণ স্বরূপ:

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

শিরোনাম অনুরোধ করুন

প্যারামিটার মান
Content-Type "আবেদন/x-www-form-urlencoded"
Accept "application/json;charset=utf-8"
Authorization

"বেসিক ZWRnZWNsaTplZGdlY2xpc2VjcmV0"

আপনি এই মানটিকে একটি পরিবেশ পরিবর্তনশীলে রপ্তানি করতে পারেন যাতে আপনি এই API কলগুলিতে এটি পুনরায় ব্যবহার করতে পারেন। উদাহরণ স্বরূপ:

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

ফর্ম পরামিতি

প্যারামিটার প্রয়োজন? মান
username ঐচ্ছিক। একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড সমন্বয় বা একটি পাসকোড প্রয়োজন. আপনার Apigee ব্যবহারকারীর নাম, যা সাধারণত আপনার Apigee অ্যাকাউন্টের সাথে যুক্ত ইমেল ঠিকানা।
password ঐচ্ছিক। একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড সমন্বয় বা একটি পাসকোড প্রয়োজন. আপনার Apigee অ্যাকাউন্টের পাসওয়ার্ড।
mfa_token ঐচ্ছিক আপনার অ্যাকাউন্টের জন্য একটি বৈধ মাল্টি-ফ্যাক্টর প্রমাণীকরণ (MFA) কোড। শুধুমাত্র যদি আপনার MFA সক্রিয় থাকে তাহলেই প্রয়োজনীয়৷
passcode ঐচ্ছিক। একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড সমন্বয় বা একটি পাসকোড প্রয়োজন. পাসওয়ার্ডের জায়গায় আপনি ব্যবহার করতে পারেন একটি এককালীন পাসকোড । একটি SAML IDP এর সাথে প্রমাণীকরণ করার সময় একটি পাসকোড প্রয়োজন, এবং একটি LDAP IDP এর সাথে প্রমাণীকরণ করতে ব্যবহার করা যেতে পারে৷
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 কোড পান এবং তারপর 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"
}

প্রতিক্রিয়া মান সংরক্ষণ করুন:

  • এজ এপিআই-তে কলে access_token ব্যবহার করুন
  • আপনার অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেলে refresh_token ব্যবহার করুন এবং আপনাকে এটি রিফ্রেশ করতে হবে

আপনি যদি নিম্নলিখিত মত একটি প্রতিক্রিয়া পান:

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

নিশ্চিত করুন যে আপনি আপনার অনুরোধে Authorization শিরোনামের জন্য উপরে দেওয়া সঠিক স্ট্রিংটি ("ZWRnZWNsaTplZGdlY2xpc2VjcmV0") ব্যবহার করেছেন৷