واجهة برمجة التطبيقات Federated Credential Management API يتم شحنها في Chrome 108 ولكن من المتوقّع أن تستمر تتطور. ليس هناك تغييرات قد تؤدي إلى أعطال في المستقبل.
من هم المستخدمون المعنيون بهذه التعديلات؟
يمكنك الاطّلاع على هذه التعديلات في الحالات التالية:
- أنت موفِّر هوية (idP) تستخدم واجهة برمجة التطبيقات Federated Credential Management API.
- إذا كنت تمثّل موفِّر هوية أو جهة محظورة وتريد توسيع نطاق واجهة برمجة التطبيقات لتناسب استخدامك الحالة - مثل كنت تراقب أو تشارك في المناقشات حول مستودع FedID CG ويريدون فهم التغييرات التي تم إجراؤها على واجهة برمجة التطبيقات.
- إذا كنت مورّدًا في استخدام المتصفّحات وتريد متابعة عملية التنفيذ حالة واجهة برمجة التطبيقات.
إذا كنت مستخدمًا جديدًا لواجهة برمجة التطبيقات هذه أو لم يسبق لك تجربتها بعد، يُرجى الاطّلاع على مقدمة عن واجهة برمجة التطبيقات Federated Credential Management.
سجلّ التغييرات
للاطّلاع على التغييرات التي تطرأ على واجهة برمجة التطبيقات في FedCM، يمكنك الاطّلاع على المدونة أو النشرة الإخبارية.
Chrome 125 (أبريل 2024)
- بما أنّ المواصفات عدّلت اسم "نقاط نهاية قائمة الحسابات" إلى "الحسابات نقطة النهاية"، تتم مواءمة وثائقنا وفقًا لذلك.
- تتوفّر الفترة التجريبية الأصلية لواجهة Button Mode API على الإصدار 125 من Chrome لأجهزة الكمبيوتر المكتبي. التعلّم يمكنك الاطّلاع على مزيد من المعلومات حول تحديثات FedCM: مرحلة التجربة والتقييم في Button Mode API، وCORS SameSite.
- يتم فرض CORS على نقطة نهاية تأكيد رقم التعريف بدءًا من الإصدار 125 من Chrome.
- سيرسل Chrome إلى المعرّف فقط ملفات تعريف الارتباط التي تم وضع علامة
SameSite=None
عليها صراحةً. نقطة نهاية التأكيد بدء نقطة نهاية الحسابات من Chrome 125.
Chrome 123 (شباط/فبراير 2024)
- تمت إضافة دعم لواجهة برمجة تطبيقات تلميح النطاق. تلميح النطاق
واجهة برمجة التطبيقات التي تتيح للجهات المحظورة
تحديد السمة
domainHint
في طلب بيانات من واجهة برمجة التطبيقات في FedCM لعرض النتائج المطابقة فقط حساب المستخدم.
Chrome 122 (يناير 2024)
- تم توفير إمكانية استخدام قطع الاتصال بواجهة برمجة التطبيقات. إلغاء الربط واجهة برمجة التطبيقات التي تسمح بها يمكن للجهات المحظورة إلغاء ربط المستخدمين بحساب موفِّر الهوية بدون الاعتماد على والجهات الخارجية.
- قيد التحقق
/.well-known/web-identity
يتم تخطّيه الآن عندما يكون الجهة المحظورة وموفِّر الهوية على الموقع الإلكتروني نفسه. - يمكن للموارد الفرعية الآن إعداد تسجيل دخول للموقع الإلكتروني نفسه الحالة.
Chrome 121 (كانون الأول/ديسمبر 2023)
- الشرط المريح لتفعيل إعادة المصادقة التلقائية لبرنامج FedCM:
- تتوفر ميزة إعادة المصادقة التلقائية في
لا يتم تشغيل FedCM إلا عند عودة المستخدم. هذا يعني أن المستخدم
يحتاج إلى تسجيل الدخول إلى الجهة المحظورة باستخدام برنامج FedCM مرة واحدة على كل مثيل متصفّح،
قبل أن تتمكن من إعادة المصادقة التلقائية. كانت هذه الحالة في البداية
تم إدخالهما للتخفيف من مخاطر انتحال أجهزة التتبّع التي تدّعي أنّها عبارة عن هوية
موفِّر الهوية (IdP) وخداع المتصفِّح لإعادة مصادقة المستخدم تلقائيًا
بدون علمه أو موافقته. ومع ذلك، لا يمكن أن يضمن هذا التصميم
ميزة الخصوصية إذا كان بإمكان أداة التتبُّع الوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية على
سياق الجهة المحظورة ولا يوفر FedCM إلا مجموعة فرعية من الإمكانات الممكنة عبر
ملفات تعريف الارتباط التابعة لجهات خارجية، وبالتالي إذا كان بإمكان أداة التتبُّع الوصول إلى ملفات تعريف ارتباط تابعة لجهات خارجية
ملفات تعريف الارتباط في سياق الجهة المحظورة، فإن الوصول إلى FedCM لا يوفر خصوصية إضافية
إدخالهم.
نظرًا لوجود استخدامات مشروعة لملفات تعريف الارتباط التابعة لجهات خارجية والتخفيف من إلى تحسين تجربة المستخدم، يتغير هذا السلوك من Chrome 121. لقد قررنا تخفيف قيود الحالة لمعاملة المستخدم إرجاع: في حال كانت ملفات تعريف الارتباط التابعة لجهات خارجية متاحة لموفِّر الهوية (idP) على الجهة المحظورة السياق، سيثق Chrome في مطالبة موفِّر الهوية بشأن حالة حساب المستخدم تم تحديدها من خلال قائمةapproved_clients
وتشغيل إعادة المصادقة التلقائية إن أمكن. يمكن توفير ملفات تعريف الارتباط التابعة لجهات خارجية من خلال: إعدادات المستخدم سياسات المؤسسات وأساليب الإرشادات (Safari Firefox Chrome) وواجهات برمجة تطبيقات النظام الأساسي للويب (مثل الوصول إلى مساحة التخزين) API). ملاحظة عندما يفقد موفِّر الهوية إمكانية الوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية في المستقبل، إذا لم يمنح أبدًا إذنًا صريحًا لواجهة مستخدم FedCM (على سبيل المثال، بالنقر على الزر متابعة كـ) من قبل، فسيتم التعامل معهم على أنهم مستخدم جديد.
ما مِن إجراءات مطلوبة من المطوِّر. يُرجى العِلم أنّ مسار إعادة المصادقة التلقائية يمكن أن ستؤدي إلى مزيد من التغييرات في حال كان موفِّر الهوية (idP) لديه إمكانية الوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية ويدّعي أنّ المستخدم قد أنشأ حسابًا على الجهة المحظورة في السابق
- تتوفر ميزة إعادة المصادقة التلقائية في
لا يتم تشغيل FedCM إلا عند عودة المستخدم. هذا يعني أن المستخدم
يحتاج إلى تسجيل الدخول إلى الجهة المحظورة باستخدام برنامج FedCM مرة واحدة على كل مثيل متصفّح،
قبل أن تتمكن من إعادة المصادقة التلقائية. كانت هذه الحالة في البداية
تم إدخالهما للتخفيف من مخاطر انتحال أجهزة التتبّع التي تدّعي أنّها عبارة عن هوية
موفِّر الهوية (IdP) وخداع المتصفِّح لإعادة مصادقة المستخدم تلقائيًا
بدون علمه أو موافقته. ومع ذلك، لا يمكن أن يضمن هذا التصميم
ميزة الخصوصية إذا كان بإمكان أداة التتبُّع الوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية على
سياق الجهة المحظورة ولا يوفر FedCM إلا مجموعة فرعية من الإمكانات الممكنة عبر
ملفات تعريف الارتباط التابعة لجهات خارجية، وبالتالي إذا كان بإمكان أداة التتبُّع الوصول إلى ملفات تعريف ارتباط تابعة لجهات خارجية
ملفات تعريف الارتباط في سياق الجهة المحظورة، فإن الوصول إلى FedCM لا يوفر خصوصية إضافية
إدخالهم.
Chrome 120 (تشرين الثاني/نوفمبر 2023)
- تمت إضافة دعم الميزات الثلاث التالية في Chrome 120:
- واجهة برمجة التطبيقات لحالة تسجيل الدخول: حالة تسجيل الدخول
واجهة برمجة التطبيقات هي
آلية حيث يُبلغ الموقع الإلكتروني، وخاصة موفِّر الهوية، صفحة
تسجيل الدخول. باستخدام واجهة برمجة التطبيقات هذه، يمكن للمتصفح تقليل الطلبات غير الضرورية إلى
موفِّر الهوية (idP) ويحدّ من هجمات التوقيت المحتملة. واجهة برمجة تطبيقات حالة تسجيل الدخول هي
متطلبات FedCM
مع هذا التغيير، سيتم عرض علامة
chrome://flags/#fedcm-without-third-party-cookies
لم تعد مطلوبة لتفعيل FedCM عند حظر ملفات تعريف الارتباط التابعة لجهات خارجية. - Error API: يعرض الخطأ ترسِل واجهة برمجة التطبيقات إشعارًا إلى مستخدم من خلال عرض واجهة مستخدم للمتصفّح تتضمن معلومات الخطأ التي قدّمها موفِّر الهوية (idP).
- واجهة برمجة تطبيقات الإبلاغ التي يتم اختيارها تلقائيًا: العلامة التي يتم اختيارها تلقائيًا واجهة برمجة التطبيقات يشارك ما إذا كان قد تم الحصول على إذن صريح من المستخدم من خلال النقر على زر المتابعة باسم مع كل من موفِّر الهوية (idP) وموفِّر الهوية (RP) عند إعادة المصادقة تلقائيًا حدوث وساطة صريحة. لا تتم المشاركة إلا بعد المستخدم يتم منح الإذن للتواصل مع موفِّر الهوية (idP) ومقدِّم الخدمة (RP).
- واجهة برمجة التطبيقات لحالة تسجيل الدخول: حالة تسجيل الدخول
واجهة برمجة التطبيقات هي
آلية حيث يُبلغ الموقع الإلكتروني، وخاصة موفِّر الهوية، صفحة
تسجيل الدخول. باستخدام واجهة برمجة التطبيقات هذه، يمكن للمتصفح تقليل الطلبات غير الضرورية إلى
موفِّر الهوية (idP) ويحدّ من هجمات التوقيت المحتملة. واجهة برمجة تطبيقات حالة تسجيل الدخول هي
متطلبات FedCM
مع هذا التغيير، سيتم عرض علامة
Chrome 117 (أيلول/سبتمبر 2023)
- تتوفّر الفترة التجريبية للمصدر لواجهة برمجة تطبيقات حالة تسجيل الدخول بنظام Idp على أجهزة Android من الإصدار Chrome 117. يمكنك التعرّف على مزيد من المعلومات عن ذلك في تعديلات FedCM: واجهة برمجة التطبيقات لحالة تسجيل الدخول لموفِّر الهوية (idP) و"تلميح تسجيل الدخول" وغير ذلك.
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. تشير رسالة الأشكال البيانية
يجب أن يحدد أداة التضمين
Permissions-Policy
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
- تتضمن الطلبات الموجّهة إلى موفِّر الهوية (idP) الآن
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;
Chrome 104 (حزيران/يونيو 2022)
- تم الآن إرسال مَعلمة
consent_acquired
إلى نقطة نهاية الرمز المميّز لرقم التعريف.disclosure_text_shown
لم يتم تغيير القيمة. - أيقونات العلامة التجارية في بيان موفِّر الهوية (idP) توقفوا عن إتاحة صور SVG (رسومات موجّهة يمكن تغيير حجمها)، ولكنّهم لم يعودوا بحاجة إلى السماح بها من قِبل الجهة المحظورة سياسة أمان المحتوى:
Chrome 103 (أيار/مايو 2022)
- وتتوافق مع بيئات سطح المكتب.
- تتيح هذه السياسة ضبط الإعدادات لكل جهة محظورة على الكمبيوتر.
- تشير رسالة الأشكال البيانية نقطة نهاية البيانات الوصفية للعميل أصبحت الآن اختيارية. في نقطة النهاية هذه، يكون عنوان URL لسياسة الخصوصية اختياريًا أيضًا.
- تمت إضافة تنبيه حول استخدام سياسة CSP
connect-src
في المستند.