شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
شما میتوانید از سرویس Edge OAuth2 برای تبادل اعتبارنامههای خود با یک توکن دسترسی و بهروزرسانی استفاده کنید که سپس از آن برای فراخوانی نقاط پایانی Edge در گردشهای کاری OAuth خود استفاده خواهید کرد.
علاوه بر تکنیکهای شرح داده شده در این بخش، میتوانید از ابزارهای acurl و get_token نیز برای دریافت توکنهای OAuth2 استفاده کنید.
مسیر
POST https://login.apigee.com/oauth/token
اگر از یک سازمان دارای SAML در Edge for Public Cloud به سرویس Edge OAuth2 دسترسی دارید، باید نام منطقه را در مسیر خود وارد کنید. برای مثال:
POST https://zone.login.apigee.com/oauth/token
درخواست سربرگها
| پارامتر | ارزش |
|---|---|
Content-Type | "برنامه/x-www-form-urlencoded" |
Accept | "برنامه/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 | مورد نیاز | تعیین میکند که آیا یک توکن دسترسی جدید دریافت میکنید یا توکن موجود را بهروزرسانی میکنید. مقادیر معتبر عبارتند از:
|
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" }
مقادیر پاسخ را ذخیره کنید:
- از
access_tokenدر فراخوانیهای Edge API استفاده کنید - وقتی توکن دسترسی شما منقضی میشود و نیاز به بهروزرسانی آن دارید، از
refresh_tokenاستفاده کنید.
اگر پاسخی مانند زیر دریافت کردید:
{
"error": "unauthorized",
"error_description": "Bad credentials"
} مطمئن شوید که دقیقاً از رشتهی داده شده در بالا ("ZWRnZWNsaTplZGdlY2xpc2VjcmV0") برای هدر Authorization در درخواست خود استفاده کردهاید.