إشعارات واجهة برمجة التطبيقات لإدارة بيانات الاعتماد الموحّدة

تم طرح Federated Credential Management API في Chrome 108، ولكن من المتوقّع أن تشهد مزيدًا من التطوّر. لم يتم التخطيط لإجراء تغييرات جذرية.

مَن هم المستخدِمون المعنيّون بهذه التعديلات؟

ينطبق عليك هذا التغيير في الحالات التالية:

  • إذا كنت موفِّر هوية (IdP) تستخدِم Federated Credential Management API
  • إذا كنت مزوّدًا لخدمات الهوية أو مقدّم خدمات اعتماد وتريد توسيع نطاق واجهة برمجة التطبيقات لتتلاءم مع حالة الاستخدام الخاصة بك، على سبيل المثال، إذا كنت تراقِب أو تشارك في المناقشات حول مستودع FedID CG وتريد فهم التغييرات التي تم إجراؤها على واجهة برمجة التطبيقات.
  • أنت موفّر متصفّح وتريد معرفة حالة تنفيذ واجهة برمجة التطبيقات.

إذا كنت مستخدِمًا جديدًا لواجهة برمجة التطبيقات هذه أو لم تجرب استخدامها بعد، يُرجى قراءة مقدمة عن واجهة برمجة التطبيقات Federated Credential Management API.

سجلّ التغييرات

للاطّلاع على آخر التغييرات في FedCM API، يمكنك الاطّلاع على مدوّنتنا أو الرسالة الإخبارية.

الإصدار 131 من Chrome (أكتوبر 2024)

الإصدار 125 من Chrome (نيسان/أبريل 2024)

الإصدار 123 من Chrome (شباط/فبراير 2024)

الإصدار 122 من Chrome (كانون الثاني/يناير 2024)

الإصدار 121 من Chrome (كانون الأول/ديسمبر 2023)

  • الشرط المُخفَّف لبدء إعادة المصادقة التلقائية في FedCM:
    • لا يتم تفعيل ميزة إعادة المصادقة التلقائية في FedCM إلا عند عودة المستخدم. ويعني ذلك أنّ المستخدم يجب أن يسجّل الدخول إلى موفِّر الموارد باستخدام FedCM مرة واحدة في كلّ نسخة من المتصفّح، قبل أن يتم تفعيل إعادة المصادقة التلقائية. تمّ وضع هذا الشرط في البداية للحدّ من خطر أن يتظاهر المتتبّعون بأنّهم موفّرو هوية (IdP) ويخدعون المتصفّح لإعادة مصادقة مستخدم تلقائيًا بدون علمه أو موافقته. ومع ذلك، لا يمكن لهذا التصميم ضمان ميزة الخصوصية إذا كان المتتبّع يمكنه الوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية في سياق المعالجة المحدودة للبيانات. لا يوفّر FedCM سوى مجموعة فرعية من الإمكانات المتاحة من خلال ملفات تعريف الارتباط التابعة لجهات خارجية، لذا إذا كان أداة التتبّع تملك إذن الوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية في سياق المعالجة المحدودة للبيانات، لا يشكّل الوصول إلى FedCM أي مخاطر إضافية تتعلّق بالخصوصية.
      بما أنّ هناك استخدامات مشروعة لملفات تعريف الارتباط التابعة لجهات خارجية، وبما أنّ تخفيف شرط هذا الإجراء سيؤدي إلى تحسين تجربة المستخدم، سيتم تغيير هذا السلوك اعتبارًا من الإصدار 121 من Chrome. قرّرنا تخفيف القيود المفروضة على الشرط لاعتبار المستخدم عائدًا: إذا كانت ملفات تعريف الارتباط التابعة لجهات خارجية متاحة لموفِّر الهوية في سياق approved_clients، سيثق Chrome ببيان موفِّر الهوية بشأن حالة حساب المستخدم المحدّد من خلال قائمة approved_clients ويبدأ إعادة المصادقة التلقائية إذا كان ذلك منطبقًا. يمكن أن تكون ملفات تعريف الارتباط التابعة لجهات خارجية متاحة من خلال: إعدادات المستخدم، سياسات المؤسسات، وغيرها من الأساليب الاستقرائية (Safari، Firefox، Chrome) وواجهات برمجة تطبيقات منصات الويب الأخرى (مثل واجهة برمجة التطبيقات لوصول التخزين). يُرجى ملاحظة أنّه عندما يفقد موفِّر الهوية إمكانية الوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية في المستقبل، إذا لم يمنح مستخدم إذنًا صريحًا على واجهة مستخدم FedCM (على سبيل المثال، النقر على الزر متابعة) من قبل، سيظلّ يُعامل كمستخدم جديد.
      ليس على المطوّر اتّخاذ أي إجراء. يُرجى العلم أنّه يمكن أن يتم بدء عملية إعادة المصادقة التلقائية بشكل أكبر من خلال هذا التغيير إذا كان موفِّر خدمة المصادقة (IdP) لديه إذن بالوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية ويدّعي أنّ المستخدم قد أنشأ حسابًا على موفِّر خدمات الربط (RP) في السابق.

الإصدار 120 من Chrome (تشرين الثاني/نوفمبر 2023)

  • تمت إضافة ميزات ثلاث التالية في الإصدار 120 من Chrome:
    • Login Status API: Login Status API هي برمجية تهدف إلى إعلام المتصفّح بحالة تسجيل دخول المستخدِم على الموقع الإلكتروني، خاصةً موفِّر الهوية (IdP). باستخدام واجهة برمجة التطبيقات هذه، يمكن للمتصفّح تقليل الطلبات غير الضرورية المرسَلة إلى ملف تعريف الارتباط للمستخدِم (IdP) والحدّ من الهجمات المحتملة المتعلّقة بالتوقيت. واجهة برمجة التطبيقات Login Status API هي أحد متطلبات FedCM. بعد إجراء هذا التغيير، لم يعُد الرمز chrome://flags/#fedcm-without-third-party-cookies مطلوبًا لتفعيل FedCM عند حظر ملفّات تعريف الارتباط التابعة لجهات خارجية.
    • Error API: تُرسِل Error API إشعارًا إلى المستخدِم من خلال عرض واجهة مستخدِم للمتصفّح تتضمّن معلومات الخطأ المقدَّمة من موفِّر الهوية.
    • Auto-Selected Flag API: تشارك Auto-Selected Flag API ما إذا تم الحصول على إذن صريح من المستخدِم من خلال النقر على الزر Continue as (متابعة باسم) مع كلّ من موفِّر الهوية وموفِّر الخدمات، وذلك عند حدوث إعادة مصادقة تلقائية أو حدوث توسّط صريح. ولا تتم المشاركة إلا بعد منح إذن المستخدم للتواصل بين موفِّر الهوية ومسؤول المعالجة.

الإصدار 117 من Chrome (أيلول/سبتمبر 2023)

الإصدار 116 من Chrome (آب/أغسطس 2023)

الإصدار 115 من Chrome (يونيو 2023)

  • تمت إضافة ميزة إعادة المصادقة التلقائية التي تتيح للمستخدمين إعادة المصادقة تلقائيًا عند العودة بعد المصادقة الأولية باستخدام FedCM. ويؤدي ذلك إلى تحسين تجارب المستخدمين وتوفير إمكانية إعادة مصادقة أكثر سلاسة مع مقدّم الخدمة بعد المصادقة الأولية. مزيد من المعلومات حول إعادة المصادقة التلقائية في FedCM

الإصدار 110 من Chrome (شباط/فبراير 2023)

  • بالنسبة إلى نقطة نهاية بيان الهوية، يجب أن تتحقّق موفِّري الهوية من عنوان Origin (بدلاً من عنوان Referer) لمعرفة ما إذا كانت القيمة تتطابق مع مصدر معرّف العميل.
  • يتوفّر الآن إطار iframe من مصدر مختلف لميزة "إدارة المحتوى في الوقت الفعلي" (FedCM). على مُدمِج المحتوى تحديد Permissions-Policy identity-credentials-get للسماح لواجهة برمجة التطبيقات FedCM API في ملف div مضمّن من مصدر مختلف. يمكنك الاطّلاع على مثال على إطار iframe المتعدّد المصادر.
  • تمت إضافة ميزة تجريبية جديدة في Chrome chrome://flags/#fedcm-without-third-party-cookies. باستخدام هذا الخيار، يمكنك اختبار وظيفة FedCM في Chrome من خلال حظر ملفات تعريف الارتباط التابعة لجهات خارجية. اطّلِع على مزيد من المعلومات من مستندات FedCM.

الإصدار 108 من Chrome (أكتوبر 2022)

  • تم تغيير اسم "بيان المستوى الأعلى" إلى "ملف معروف" في المستند. ولا يلزم إجراء أي تغييرات على عملية التنفيذ.
  • أصبح ملف بيان موفِّر الهوية يُعرف الآن باسم "ملف الإعدادات" في المستند. ولا يلزم إجراء أي تغييرات على عملية التنفيذ.
  • تتم إعادة تسمية id_token_endpoint في "ملف الإعداد" إلى id_assertion_endpoint.
  • تتضمّن الطلبات المرسَلة إلى موفّر الهوية الآن رأس Sec-Fetch-Dest: webidentity بدلاً من رأس Sec-FedCM-CSRF: ?1.

الإصدار 105 من Chrome (آب/أغسطس 2022)

  • تمت إضافة معلومات أمان مهمة إلى المستند. على موفّر هوية العميل (IdP) التحقّق مما إذا كان عنوان Referer يتطابق مع مصدر العميل المُعتمَد الذي تم تسجيله مسبقًا على نقطة نهاية رمز التعريف.
  • تتم إعادة تسمية البيان من المستوى الأعلى من /.well-known/fedcm.json إلى /.well-known/web-identity، ويجب أن يحتوي عنوان URL المحدّد في provider_urls على اسم الملف.
  • لم تعُد الطرق login() وlogout() وrevoke() في مثيلات FederatedCredential متاحة.
  • تستخدم واجهة برمجة التطبيقات Federated Credential Management API الآن نوعًا جديدًا هو IdentityCredential بدلاً من FederatedCredential. يمكن استخدام هذا الإجراء لتحديد العناصر، ولكنّه تغيير غير مرئي إلى حد كبير.
  • نقل وظيفة تسجيل الدخول من مجموعة من navigator.credentials.get() و FederatedCredential.prototype.login() إلى navigator.credentials.get()
  • لم تعُد نقطة نهاية الإبطال في البيان سارية.
  • استخدِم حقل identity بدلاً من حقل federated لمكالمات navigator.credentials.get().
  • أصبح url الآن configURL ويجب أن يكون عنوان URL الكامل لملف البيان بتنسيق JSON بدلاً من مسار طلب navigator.credentials.get().
  • أصبحت nonce مَعلمة اختيارية لـ navigator.credentials.get().
  • لم يعُد hint متاحًا كخيار ل navigator.credentials.get().
const credential = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: 'https://idp.example/anything.json',
      clientId: '********',
      nonce: '******'
    }]
  }
});
const { token } = credential;

الإصدار 104 من Chrome (حزيران/يونيو 2022)

الإصدار 103 من Chrome (أيار/مايو 2022)

  • تتوافق مع بيئات الكمبيوتر المكتبي
  • تتيح ضبط إعدادات لكل جهاز RP على الكمبيوتر المكتبي.
  • أصبح نقطة نهاية البيانات الوصفية للعميل اختيارية الآن. في هذه النهاية، يكون عنوان URL لسياسة الخصوصية اختياريًا أيضًا.
  • تمت إضافة تحذير بشأن استخدام connect-srcCSP في المستند.

الموارد