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

يتم شحن إلى Chrome 108 واجهة برمجة التطبيقات Federated Credential Management، ولكن من المتوقّع أن تستمر في التطوّر. ليس هناك تغييرات قد تؤدي إلى أعطال في المستقبل.

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

يمكنك الاطّلاع على هذه التعديلات في الحالات التالية:

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

إذا كنت لا تزال مبتدئًا في استخدام واجهة برمجة التطبيقات هذه أو لم يسبق لك تجربتها، يُرجى الاطّلاع على مقدّمة حول واجهة برمجة التطبيقات Federated Credential Management.

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

للاطّلاع على التغييرات التي تطرأ على واجهة برمجة التطبيقات في FedCM، يمكنك الانتقال إلى مدونتنا أو النشرة الإخبارية.

Chrome 125 (أبريل 2024)

Chrome 123 (شباط/فبراير 2024)

  • تمت إضافة دعم لواجهة برمجة تطبيقات تلميح النطاق. واجهة برمجة تطبيقات "معلومات النطاق" تسمح للجهات المحظورة بتحديد موقع domainHint في طلب بيانات من واجهة برمجة التطبيقات في FedCM لعرض الحسابات المطابقة فقط للمستخدم.

Chrome 122 (يناير 2024)

  • تم توفير إمكانية استخدام قطع الاتصال بواجهة برمجة التطبيقات. تتيح واجهة برمجة التطبيقات "قطع الاتصال" للجهات المحظورة إلغاء ربط المستخدمين بحساب موفِّر الهوية بدون الاعتماد على ملفات تعريف الارتباط التابعة لجهات خارجية.
  • يتم الآن تخطّي عملية التحقّق /.well-known/web-identity عندما يكون موفِّر الهوية (RP) وموفِّر الهوية (idP) موقعًا إلكترونيًا واحدًا.
  • يمكن للموارد الفرعية الآن ضبط حالة تسجيل الدخول إلى الموقع الإلكتروني نفسه.

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

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

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

  • تمت إضافة دعم للميزات الثلاث التالية في الإصدار 120 من Chrome:
    • واجهة برمجة التطبيقات لحالة تسجيل الدخول: واجهة برمجة التطبيقات لحالة تسجيل الدخول هي آلية يعمل من خلالها الموقع الإلكتروني، وخصوصًا موفِّر الهوية، على إبلاغ المتصفّح بحالة تسجيل الدخول للمستخدم. وباستخدام واجهة برمجة التطبيقات هذه، يمكن للمتصفّح تقليل الطلبات غير الضرورية إلى موفِّر الهوية والحدّ من هجمات التوقيت المحتملة. تُعد واجهة برمجة تطبيقات حالة تسجيل الدخول أحد متطلبات FedCM. مع هذا التغيير، لم تعُد العلامة chrome://flags/#fedcm-without-third-party-cookies مطلوبة لتفعيل FedCM عند حظر ملفات تعريف الارتباط التابعة لجهات خارجية.
    • واجهة برمجة تطبيقات الخطأ: ترسِل واجهة برمجة التطبيقات للخطأ إشعارًا إلى المستخدم من خلال عرض واجهة مستخدم للمتصفّح تتضمن معلومات الخطأ التي يوفّرها موفِّر الهوية.
    • واجهة برمجة التطبيقات للإبلاغ تلقائيًا عن التي تم اختيارها تلقائيًا: تشارك واجهة برمجة التطبيقات للعلامة التي تم اختيارها تلقائيًا ما إذا كان قد تم الحصول على إذن صريح من المستخدم من خلال النقر على الزر متابعة باسم مع كل من موفِّر الهوية (idP) والجهة المحظورة، عند حدوث إعادة المصادقة التلقائية أو حدوث توسّط صريح. لا تحدث المشاركة إلا بعد منح إذن المستخدم للاتصال بموفِّر الهوية (idP) والجهة المحظورة.

Chrome 117 (أيلول/سبتمبر 2023)

Chrome 116 (آب/أغسطس 2023)

  • تمت إضافة دعم للميزات الثلاث التالية في الإصدار 116 من Chrome:
    • Login Hint API: حدِّد حساب مستخدم مفضّلاً لتسجيل الدخول إليه.
    • واجهة برمجة تطبيقات معلومات المستخدم: يمكنك جلب معلومات المستخدم المكرّر الزيارة حتى يتمكّن موفِّر الهوية (IdP) من عرض زر تسجيل دخول مخصّص داخل إطار iframe.
    • RP Context API: استخدِم عنوانًا مختلفًا عن "تسجيل الدخول" في مربّع حوار FedCM.
  • تتوفّر النسخة التجريبية الأصلية لواجهة برمجة التطبيقات لحالة تسجيل الدخول لموفِّر الهوية (IdP). يمكنك التعرّف على مزيد من المعلومات عن ذلك في تعديلات FedCM: واجهة برمجة التطبيقات لحالة تسجيل الدخول لموفِّر الهوية (idP) و"تلميح تسجيل الدخول" وغير ذلك.

Chrome 115 (حزيران/يونيو 2023)

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

Chrome 110 (شباط/فبراير 2023)

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

Chrome 108 (تشرين الأول/أكتوبر 2022)

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

Chrome 105 (آب/أغسطس 2022)

  • تمت إضافة معلومات أمان مهمة إلى المستند. يحتاج موفِّر الهوية (IdP) إلى التحقّق مما إذا كان عنوان Referer يتطابق مع المصدر الذي تم تسجيله مسبقًا في نقطة نهاية الرمز المميّز لرقم التعريف.
  • تمت إعادة تسمية بيان المستوى الأعلى من /.well-known/fedcm.json إلى /.well-known/web-identity ويجب أن يتضمّن عنوان URL المحدَّد في provider_urls اسم الملف.
  • لم تعُد الطرق login() وlogout() وrevoke() على مثيلات FederatedCredential متاحة.
  • تستخدم واجهة برمجة التطبيقات Federated Credential Management الآن نوعًا جديدًا 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;

Chrome 104 (حزيران/يونيو 2022)

  • تم تغيير قيمة مَعلمة consent_acquired التي تم إرسالها إلى نقطة نهاية الرمز المميّز لرقم التعريف الآن إلى disclosure_text_shown. لم يتم تغيير القيمة.
  • رموز الهوية البصرية للعلامة التجارية في بيان موفِّر الهوية (idP) توقفت عن إتاحة صور SVG، ولكن لم تعُد هناك حاجة إلى السماح بها بموجب سياسة أمان المحتوى التابعة للجهة المحظورة.

Chrome 103 (أيار/مايو 2022)

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

المراجع