تخصيص الرموز المميزة ورموز التفويض

أنت تعرض مستندات Apigee Edge.
انتقل إلى مستندات Apigee X.
معلومات

لمحة عن البيانات الوصفية للرموز المميّزة

تنشئ Apigee Edge رموز الدخول عبر بروتوكول OAuth ورموز إعادة التحميل ورموز التفويض. يوزعها إلى التطبيقات التي تمت مصادقتها. في وقت الإنشاء، تحفظ شبكة Edge هذه الرموز المميّزة. وفي وقت لاحق، عندما يتلقى Edge طلبات واجهة برمجة التطبيقات الواردة التي تتضمن هذه الرموز أو الرموز، يستخدم 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، يُطلق على هذه البيانات اسم " ". وبالتالي، عندما يتم التحقق من الرمز المميّز في نطاق طلب من واجهة برمجة التطبيقات، أن تتم إتاحة البيانات للخادم الوكيل لواجهة برمجة التطبيقات من خلال متغيرات السياق. يمكن أن ينشئ وكيل واجهة برمجة التطبيقات قرارات دقيقة بشأن التفويض أو التوجيه القائمة على البيانات المخصصة المرتبطة الرمز المميز.

لإرفاق بيانات عشوائية برمز مميّز، استخدِم العنصر <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، يتم تخزين السمات المخصّصة في البيانات. تخزين البيانات، ولكن لا يتم إرجاعها في رسالة الرد. وفي كلتا الحالتين، ستكون البيانات المخصّصة متوفرة للسياسات داخل الخادم الوكيل لواجهة برمجة التطبيقات، بعد التحقق من الرمز المميز.

لمزيد من المعلومات عن خيار display عرض سمات مخصّصة أو إخفاؤها في الردّ

الحصول على السمات المخصصة في وقت التشغيل

عند إجراء اتصال برقم OAuthV2/VerifyAccessToken، تتحقّق Apigee Edge من الرمز المميّز من خلال البحث عنه في مخزن الرموز المميّزة. بعد ذلك يملأ Apigee Edge مجموعة من متغيرات السياق التي تتضمن معلومات حول الرمز المميز. ومن بينها:

  • organization_name
  • developer.id
  • developer.app.name
  • client_id
  • grant_type
  • token_type
  • access_token
  • issued_at
  • تنتهي الصلاحية في //--in ثانية
  • status
  • نطاق
  • apiproduct.name*

إذا كانت هناك أي سمات مخصصة على الرمز المميّز، يتم توفير هذه السمات المخصّصة في متغير سياق باسم accesstoken.{custom_attribute}. على سبيل المثال: لنفترض أنّه تم إصدار رمز مميّز من السياسة الموضّحة أعلاه. وبعد التحقق من هذا الرمز المميز، سيكون هناك متغير سياق إضافي باسم accesstoken.tenant_list، يحتوي على التي تم تخزينها وقت إنشاء الرمز.

ويمكن للسياسات أو الشروط أن تشير بعد ذلك إلى هذه المتغيرات وتعديل السلوك استنادًا إلى والقيم المخزنة داخلها.

إعداد السمات المخصّصة وتحديثها في وقت التشغيل

في بعض الحالات، قد تحتاج إلى أن يحدِّث الخادم الوكيل لواجهة برمجة التطبيقات البيانات الوصفية المرتبطة رمز الدخول في وقت التشغيل أثناء معالجة طلب بيانات من واجهة برمجة التطبيقات على Apigee Edge. ولمساعدتك في ذلك، توفّر Apigee سياسات للحصول على سمات الرموز المميّزة وضبطها. لمزيد من المعلومات، يُرجى مراجعة الحصول على معلومات الإصدار 2 من OAuth السياسة وضبط OAuth الإصدار 2: سياسة المعلومات.

وفي كل سياسة من هذه السياسات، يجب أن يشير العنصر AccessToken إلى متغيّر يحتوي على رمز الدخول.

يمكنك أيضًا استخدام واجهات برمجة تطبيقات Edge لتحديث السمات المخصصة المرفقة بالرمز المميز. الاطّلاع على واجهة برمجة التطبيقات مستندات التحديث رمز الدخول إلى OAuth 2.0.