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

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

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

এই বিভাগে বর্ণিত কৌশলগুলি ছাড়াও, আপনি OAuth2 টোকেন পেতে acurl এবং 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"

আপনি এই মানটি একটি এনভায়রনমেন্ট ভেরিয়েবলে এক্সপোর্ট করতে পারেন, যাতে এই 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 প্রয়োজনীয়

এটি নির্ধারণ করে যে আপনি একটি নতুন অ্যাক্সেস টোকেন পাবেন নাকি বিদ্যমান টোকেনটি রিফ্রেশ করবেন। বৈধ মানগুলি হলো:

  • 'পাসওয়ার্ড': একটি নতুন অ্যাক্সেস টোকেন নিন। যখন grant_type 'পাসওয়ার্ড' হবে, তখন আপনাকে অনুরোধে আপনার Apigee ক্রেডেনশিয়াল অবশ্যই অন্তর্ভুক্ত করতে হবে।
  • "refresh_token": একটি নতুন অ্যাক্সেস টোকেন পেতে একটি রিফ্রেশ টোকেন পাঠান। যখন grant_type "refresh_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") ব্যবহার করেছেন কিনা, তা নিশ্চিত করুন।