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

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

لمن هذه التعديلات؟

هذه التعديلات مناسبة لك في الحالات التالية:

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

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

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

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

Chrome 125 (نيسان/أبريل 2024)

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

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

Chrome 122 (كانون الثاني/يناير 2024)

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

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

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

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

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

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

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

  • تمت إضافة الدعم للميزات الثلاث التالية في Chrome 116:
    • Log Hint API: حدِّد حساب المستخدم المفضَّل لتسجيل الدخول.
    • User Info API: يمكنك استرجاع معلومات المستخدم المكرّر الزيارة حتى يتمكّن موفِّر الهوية (IdP) من عرض زرّ تسجيل دخول مخصَّص داخل إطار iframe.
    • RP Context API: استخدِم عنوانًا مختلفًا عن "تسجيل الدخول" في مربّع حوار FedCM.
  • تتوفّر فترة التجربة والتقييم لواجهة برمجة التطبيقات (IdP) الخاصة بـ IdP Sign-In Status API. يمكنك الاطّلاع على مزيد من المعلومات عن ذلك في تعديلات FedCM: واجهة برمجة تطبيقات حالة تسجيل الدخول لموفِّر الهوية (IdP) و"معلومات تسجيل الدخول" وغيرها.

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

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

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

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

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

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

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

المراجع