سفارشی کردن توکن ها و کدهای مجوز

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

درباره فراداده توکن

Apigee Edge توکن‌های دسترسی OAuth، توکن‌های تازه‌سازی و کدهای مجوز را تولید می‌کند و آنها را در اختیار برنامه‌های احراز هویت قرار می‌دهد. در زمان تولید، Edge آن توکن ها و کدها را ذخیره می کند. بعداً، وقتی Edge درخواست‌های API ورودی با این توکن‌ها یا کدها را دریافت می‌کند، Edge از اطلاعات ذخیره‌شده برای تأیید درخواست‌ها استفاده می‌کند.

هنگامی که Edge این آرتیفکت های OAuth را تولید می کند، متادیتا را نیز به توکن یا کد متصل می کند. برای مثال، یک نشانه دسترسی به جفت‌های نام/مقدار مرتبط است که زمان انقضا، برنامه و توسعه‌دهنده مرتبط و اطلاعات دیگر را تعریف می‌کنند.

نمایش JSON یک نشانه دسترسی Edge به شکل زیر است:

{
  "issued_at" : "1372170159093",
  "application_name" : "ccd1803b-b557-4520-bd62-ddd3abf8e501",
  "scope" : "READ",
  "status" : "approved",
  "api_product_list" : "[Product1,Product2]",
  "api_product_list_json" : ["Product1", "Product2"],
  "expires_in" : "3599", //--in seconds
  "developer.email" : "joe@weathersample.com",
  "organization_id" : "0",
  "refresh_token" : "82XMXgDyHTpFyXOaApj8C2AGIPnN2IZe",
  "client_id" : "deAVedE0W9Z9U35PAMaAJYphBJCGdrND",
  "access_token" : "shTUmeI1geSKin0TODcGLXBNe9vp",
  "organization_name" : "apifactory",
  "refresh_count" : "0"
}

افزودن ویژگی های سفارشی به توکن های OAuth

گاهی اوقات پیوستن متادیتای سفارشی به یک نشانه دسترسی مفید است. برای مثال، ممکن است بخواهید یک نام کاربری، عضویت در گروه یا نقش‌های یک کاربر، شناسه مشتری، شناسه جلسه یا سایر اطلاعات دلخواه را به یک نشانه اضافه کنید. در Apigee Edge به این داده ها «ویژگی های سفارشی» می گویند. متعاقباً، هنگامی که توکن در محدوده درخواست API تأیید می شود، آن داده از طریق متغیرهای زمینه در دسترس پروکسی API قرار می گیرد. یک پروکسی API می‌تواند بر اساس داده‌های سفارشی که به توکن ضمیمه شده‌اند، تصمیم‌گیری‌های دقیق یا مسیریابی را اتخاذ کند.

برای پیوست کردن داده های دلخواه به یک نشانه، از عنصر <Attributes> در خط مشی OAuthV2 استفاده کنید. می توانید نام ویژگی سفارشی و مقداری که باید بگیرد را مشخص کنید. به عنوان مثال، در اینجا یک پیکربندی خط مشی است که یک توکن تولید می کند و یک ویژگی سفارشی به نام "tenant_list" را به توکن متصل می کند:

<OAuthV2 name="GenerateAccessToken">
  <Operation>GenerateAccessToken</Operation>
  <ExpiresIn>600000</ExpiresIn>
  <GenerateResponse />
  <SupportedGrantTypes>
    <GrantType>client_credentials</GrantType>
  </SupportedGrantTypes>
  <GrantType>request.queryparam.grant_type</GrantType>
  <Attributes> 
    <Attribute name="tenant_list" ref="tenant_list_retrieved_from_external_service" display="false"/>
  </Attributes>
</OAuthV2>

شما می توانید چندین ویژگی سفارشی را مشخص کنید، و می توانید آنها را به طور ضمنی به یک کد مجوز ( <Operation>GenerateAuthorizationCode</Operation> ) یا یک نشانه ( <Operation>GenerateAccessToken</Operation> ) در زمان تولید پیوست کنید.

وقتی display روی true (پیش‌فرض) تنظیم می‌شود، ویژگی‌های سفارشی در پاسخ بازگردانده می‌شوند، جایی که ممکن است توسط برنامه قابل مشاهده باشند یا به کاربر نهایی منتقل شوند. وقتی display روی false تنظیم می شود، ویژگی های سفارشی در فروشگاه داده ذخیره می شوند، اما در پیام پاسخ بازگردانده نمی شوند. در هر صورت، پس از تأیید توکن، داده‌های سفارشی برای خط‌مشی‌های درون پروکسی API در دسترس هستند.

برای اطلاعات بیشتر در مورد گزینه display نمایش یا پنهان کردن ویژگی های سفارشی در پاسخ .

دریافت ویژگی های سفارشی در زمان اجرا

هنگامی که با OAuthV2/VerifyAccessToken تماس گرفته می شود، Apigee Edge با جستجوی توکن در فروشگاه توکن، آن را تأیید می کند. سپس Apigee Edge مجموعه‌ای از متغیرهای زمینه را پر می‌کند که حاوی اطلاعات مربوط به توکن است. این موارد عبارتند از:

  • سازمان_نام
  • developer.id
  • developer.app.name
  • client_id
  • نوع_گرنت
  • token_type
  • access_token
  • صادر شده_در
  • expires_in //--در ثانیه
  • وضعیت
  • دامنه
  • apiproduct.name*

اگر ویژگی های سفارشی روی نشانه وجود داشته باشد، آن ویژگی های سفارشی در یک متغیر زمینه با نام accesstoken.{custom_attribute} . به عنوان مثال، فرض کنید یک توکن از سیاست نشان داده شده در بالا صادر شده است. پس از تأیید چنین توکنی، یک متغیر زمینه اضافی به نام accesstoken.tenant_list وجود خواهد داشت که حاوی مقداری است که در زمان تولید توکن ذخیره شده است.

سپس سیاست ها یا شرایط می توانند به این متغیرها رجوع کنند و رفتار را بر اساس مقادیر ذخیره شده در آن تغییر دهند.

تنظیم و به‌روزرسانی ویژگی‌های سفارشی در زمان اجرا

در برخی شرایط، می‌خواهید که پروکسی API شما در زمان اجرا، زمانی که یک تماس API در Apigee Edge در حال پردازش است، ابرداده مرتبط با یک نشانه دسترسی را به‌روزرسانی کند. برای کمک به این امر، Apigee سیاست هایی را برای دریافت و تنظیم ویژگی های توکن ارائه می کند. برای اطلاعات بیشتر، به دریافت خط مشی اطلاعات OAuth V2 و تنظیم خط مشی اطلاعات OAuth V2 مراجعه کنید.

در هر یک از این سیاست ها، عنصر AccessToken باید به متغیری اشاره کند که حاوی نشانه دسترسی است.

همچنین می‌توانید از APIهای Edge برای به‌روزرسانی ویژگی‌های سفارشی متصل به یک توکن استفاده کنید. به مستندات API برای روش Update OAuth 2.0 Access Token مراجعه کنید.