واجهة برمجة تطبيقات ويب لاتحاد الهوية الذي يحافظ على الخصوصية
ما هو FedCM؟
FedCM (إدارة بيانات الاعتماد المُدمَجة) هي نهج يحافظ على الخصوصية في خدمات الهوية المُدمَجة (مثل "تسجيل الدخول باستخدام...") ولا يعتمد على ملفات تعريف الارتباط التابعة لجهات خارجية أو عمليات إعادة التوجيه أثناء التنقّل.
حالة التنفيذ
- حالة النظام الأساسي Chrome
- تم شحن خدمة FedCM في الإصدار Chrome 108.
- إنّ اقتراح FedCM مفتوح للمناقشة العامة.
- ميزة FedCM غير متاحة في المتصفحات الأخرى حتى الآن.
- تعمل Mozilla على تنفيذ نموذج أولي لمتصفِّح Firefox، وأبدت شركة Apple دعمها العام واهتمامها بالعمل معًا على اقتراح FedCM.
من الآن فصاعدًا، نخطّط لطرح عدد من الميزات الجديدة استنادًا إلى الملاحظات والآراء التي تلقيناها من موفّري الهوية (IdP) والأطراف الموثوق بها (RP) ومورّدي المتصفّحات. على الرغم من أنّنا نأمل أن يعتمد موفِّرو الهوية بروتوكول FedCM، يُرجى العلم أنّ FedCM لا يزال واجهة برمجة تطبيقات قيد التطوير النشط.
للحدّ من التحديات التي تواجهها عند نشر تغييرات غير متوافقة مع الإصدارات القديمة، لدينا اقتراحان لموفّري الهوية:
- يمكنك الاشتراك في النشرة الإخبارية التي سنرسل من خلالها آخر الأخبار حول واجهة برمجة التطبيقات.
- ننصح موفّري خدمات التعريف بتوزيع FedCM API باستخدام حِزم تطوير البرامج (SDK) لـ JavaScript أثناء نضوج واجهة برمجة التطبيقات، وننصحك بعدم السماح لموفّري خدمات الربط المستضيفين بأنفسهم بحِزم SDK. سيضمن ذلك أنّه يمكن لمزوّدي خدمات التعريف بالمؤسسات إجراء تغييرات مع تطور واجهة برمجة التطبيقات، بدون الحاجة إلى طلب إعادة نشر جميع الأطراف المعتمدة.
لماذا نحتاج إلى FedCM؟
على مدار السنوات العشر الماضية، لعب اتحاد الهوية دورًا محوريًا في رفع معايير المصادقة على الويب، في ما يتعلق بالموثوقية وسهولة الاستخدام (على سبيل المثال، الدخول الموحّد بدون كلمة مرور) والأمان (على سبيل المثال، تحسين مقاومة التصيد الاحتيالي وهجمات ازدحام بيانات الاعتماد) مقارنةً بأسماء المستخدمين وكلمات المرور لكل موقع إلكتروني.
من خلال عملية ربط الهوية، يعتمد الطرف الموثوق به (RP) على موفِّر الهوية (IdP) لمنح المستخدم حسابًا بدون الحاجة إلى اسم مستخدم وكلمة مرور جديدَين.
يُرجى العِلم أنّه يتم إساءة استخدام الآليات التي تعتمد عليها عملية الدمج المتعدد للهويات (إطارات iframe وعمليات إعادة التوجيه وملفات تعريف الارتباط) لتتبُّع المستخدِمين على الويب. بما أنّ وكيل المستخدم لا يمكنه التمييز بين عملية مشاركة الهوية ومحاولة التتبّع، فإنّ الإجراءات التي يتم اتّخاذها للحدّ من الأنواع المختلفة من إساءة الاستخدام تجعل من عملية مشاركة الهوية أمرًا أكثر صعوبة.
توفّر Federated Credential Management API (FedCM) عملية تجريدية خاصة بحالة الاستخدام لعمليات المصادقة الموحّدة على الويب، وذلك من خلال توفير مربّع حوار تتم إدارته من خلال المتصفّح ويتيح للمستخدمين اختيار حسابات من موفّري خدمات التعريف لتسجيل الدخول إلى المواقع الإلكترونية.
يوفّر FedCM رحلة متعددة الخطوات لتحسين الهوية على الويب. في الخطوة الأولى، نركّز على الحد من تأثير القيود المفروضة على ملفات تعريف الارتباط التابعة لجهات خارجية في الهوية المُدمَجة (اطّلِع على قسم "خارطة الطريق" لمعرفة بعض الخطوات الإضافية).
ما هي العناصر التي نتوقّع أن تتأثر؟
من خلال جهود المجتمع وأبحاثنا، تبيّن لنا أنّ هناك بعض عمليات الدمج المتعلقة بالدمج المتعدد للهوية والتي تتأثر بقيود ملفات تعريف الارتباط التابعة لجهات خارجية:
- تسجيل الخروج من قناة OpenID Connect الأمامية
- إدارة جلسات OpenID Connect
- تجديد الرمز المميّز للتشغيل في الخلفية المستنِد إلى إطار iframe
- تطبيقات مصغّرة لتسجيل الدخول المستندة إلى إطار iframe
الهدف الأول من FedCM هو تقليل تأثير القيود المفروضة على ملفات تعريف الارتباط التابعة لجهات خارجية على توحيد الهوية، وهذه هي المجالات التي نتوقّع أن تتأثر. إذا كانت هناك حالات استخدام إضافية غير مُدرَجة، يمكنك التفاعل مع ملاحظات المستخدمين ومشاركتها.
مَن هم المعنيّون باستخدام FedCM؟
لا نتوقع أن تكون ميزة "إدارة الطلبات المُرسَلة" مفيدة لك إلا في حال استيفاء جميع الشروط التالية:
- إذا كنت موفِّر هوية (IdP).
- إذا كنت متأثرًا بقيود ملفات تعريف الارتباط التابعة لجهات خارجية
- الجهات المحظورة هي مواقع إلكترونية تابعة لجهات خارجية. إذا كانت المواقع الإلكترونية التي تشير إليها هي مواقع إلكترونية ذات صلة بشكلٍ ذي مغزى، قد يكون من الأفضل استخدام مجموعات المواقع الإلكترونية الذات الصلة.
إذا كنت موفِّر هوية
يتطلب FedCM الدعم من موفّر الهوية. لا يمكن للجهة الموثوق بها استخدام FedCM بشكل مستقل. إذا كنت مقدّم خدمات، يمكنك أن تطلب من موفِّر الهوية (IdP) تقديم تعليمات.
إذا كنت متأثرًا بقيود ملفات تعريف الارتباط التابعة لجهات خارجية
يجب عدم استخدام FedCM إلا إذا تأثّر الدمج الحالي بقيود ملفات تعريف الارتباط التابعة لجهات خارجية.
إذا لم تكن متأكّدًا مما إذا كانت عملية الدمج لتحديد الهوية ستستمر في العمل عندما لا تكون ملفات تعريف الارتباط التابعة لجهات خارجية متاحة، يمكنك اختبار التأثير على موقع إلكتروني من خلال حظر ملفات تعريف الارتباط التابعة لجهات خارجية على Chrome.
إذا لم يكن هناك تأثير يمكن اكتشافه في عملية الدمج بدون ملفات تعريف الارتباط التابعة لجهات خارجية، يمكنك مواصلة استخدام عملية الدمج الحالية بدون FedCM.
إذا لم تكن متأكدًا مما يجب التحقق منه، يمكنك قراءة المزيد عن الميزات المعروفة التي من المتوقع أن تؤثر فيها قيود ملفات تعريف الارتباط التابعة لجهات خارجية.
جهات الإصدار التابعة لجهات خارجية
إذا كنت مقدّم خدمة تحديد الهوية الذي تربط جهات الاعتماد لديه علاقة طرف أول بموفّر الهوية، نتوقع أن تكون مجموعات المواقع الإلكترونية ذات الصلة خيارًا أفضل. مجموعات المواقع الإلكترونية ذات الصلة (RWS) هي طريقة تتيح للمؤسسة الإفصاح عن العلاقات بين المواقع الإلكترونية، حتى تسمح المتصفّحات بوصول محدود إلى ملفات تعريف الارتباط التابعة لجهات خارجية لأغراض محدّدة. ويسمح ذلك لملفات تعريف الارتباط التابعة لجهات خارجية بالعمل بين مجموعات من المواقع الإلكترونية ذات الصلة بشكلٍ ذي مغزى، حتى في حال حظر ملفات تعريف الارتباط التابعة لجهات خارجية.
كيف سيتفاعل المستخدمون مع FedCM؟
ينصبّ التركيز الأساسي في FedCM على الحدّ من تأثير القيود المفروضة على ملفّات تعريف الارتباط التابعة لجهات خارجية. يمكن للمستخدمين تفعيل FedCM أو إيقافه في إعدادات المستخدم في Chrome.
تم تصميم برنامج FedCM بما يتوافق مع البروتوكول، ويقدّم الوظائف التالية ذات الصلة بالمصادقة.
اطّلِع على العرض التجريبي لمعرفة كيفية عمل هذه الميزة.
تسجيل الدخول إلى جهة اعتماد
عندما يصل المستخدم إلى الموقع الإلكتروني للجهة الموثوق بها (RP)، سيظهر مربّع حوار تسجيل الدخول إلى FedCM إذا كان المستخدم مسجِّلاً الدخول إلى موفِّر الهوية.
إذا لم يكن لدى المستخدم حساب على الجهة المحظورة لدى موفِّر الهوية، سيظهر مربّع حوار اشتراك مع نص إفصاح إضافي، مثل بنود الخدمة الخاصة بالجهة المحظورة وسياسة الخصوصية في حال توفيرها.
يمكن للمستخدم إكمال عملية تسجيل الدخول من خلال النقر على متابعة بصفتك.... في حال نجاح العملية، يخزِّن ال browser حقيقة أنّ المستخدم قد أنشأ حسابًا موحَّدًا على RP مع موفِّر الهوية.
من المتوقّع أن تعمل وحدات RP على المتصفّحات التي لا تتيح استخدام FedCM. يجب أن يتمكّن المستخدمون من استخدام عملية تسجيل دخول حالية غير مستندة إلى FedCM. مزيد من المعلومات حول كيفية تسجيل الدخول في FedCM
إعدادات تفعيل FedCM أو إيقافه
يمكن للمستخدمين تفعيل ميزة "إدارة المحتوى في المقاييس" أو إيقافها في الإعدادات على Chrome على Android. انتقِل إلى الإعدادات > إعدادات الموقع الإلكتروني > تسجيل الدخول باستخدام حساب تابع لجهة خارجية، ثم غيِّر التبديل.
ويمكنهم إجراء ذلك نفسه في Chrome على الكمبيوتر المكتبي من خلال الانتقال إلى
chrome://settings/content/federatedIdentityApi
.
خارطة الطريق
ونحن نعمل على إجراء عدد من التغييرات على FedCM. يمكنك الاطّلاع على التحديثات لمعرفة المزيد من التفاصيل.
- سجلّ التغييرات: تعديلات على Federated Credential Management API
هناك بعض الأمور التي ندرك أنّها لا تزال بحاجة إلى القيام بها، بما في ذلك المشاكل التي سمعنا عنها من موفِّري الهوية والجهات المحظورة ومورِّدي المتصفِّح. نعتقد أنّنا نعرف كيفية حلّ هذه المشاكل:
- إتاحة إطارات iframe من مصادر متعددة: يمكن لموفِّري الهوية الاتصال بـ FedCM من داخل إطار iframe من مصادر متعددة (تحديث).
- زر مخصّص: يمكن لموفّري الهوية عرض هوية المستخدِم المتكرّر على زر تسجيل الدخول من داخل إطار iframe تابع لموفّر الهوية من مصدر مختلف (تعديل).
- نقطة نهاية المقاييس: توفّر مقاييس الأداء لموفّري الهوية.
بالإضافة إلى ذلك، هناك مشاكل لم يتم حلّها ونعمل على استكشافها بنشاط، بما في ذلك الاقتراحات المحدّدة التي نجري تقييمها أو نطوّر نماذج أولية لها:
- CORS: نجري مناقشة مع Apple وMozilla لضمان تحسين مواصفات عمليات الجلب من FedCM.
- واجهة برمجة التطبيقات لموفّري الهوية المتعدّدين: نستكشف طرقًا لدعم موفّري هوية متعدّدين للتعايش بشكل تعاوني في أداة اختيار حسابات FedCM.
- IdP Sign-in Status API: رصد فريق Mozilla مشكلة هجوم توقيت، ونحن نستكشف طرقًا لموفِّر الهوية لإرسال إشعار إلى المتصفّح بشكل استباقي بشأن حالة تسجيل دخول المستخدم بهدف التخفيف من المشكلة. (تعديل)
- تسجيل الدخول إلى واجهة برمجة التطبيقات لموفِّر الهوية: لتلبية سيناريوهات مختلفة، عندما لا يكون المستخدم مسجّلاً الدخول إلى موفِّر الهوية، يقدّم المتصفّح واجهة مستخدم للمستخدم لتسجيل الدخول بدون مغادرة موفِّر المحتوى.
أخيرًا، هناك إجراءات نعتقد أنّه لا يزال يتعين اتخاذها استنادًا إلى الملاحظات التي وردتنا من Mozilla، Apple ومراجعي TAG. نحن نعمل على تقييم أفضل الحلول لهذه الأسئلة المفتوحة:
- تحسين فهم المستخدمين لمقصود البحث ومطابقته: كما لاحظت Mozilla، نود مواصلة استكشاف صيغ تجربة المستخدم المختلفة ومناطق العرض، بالإضافة إلى معايير التفعيل.
- سمات الهوية والإفصاح الانتقائي: وفقًا لما لاحظه مراجعو TAG، نودّ توفير آلية لمشاركة سمات هوية بشكل انتقائي (مثل عناوين البريد الإلكتروني والفئات العمرية وأرقام الهواتف وما إلى ذلك).
- تحسين خصائص الخصوصية: وفقًا لما اقترحته Mozilla في موقفها بشأن المعايير، نود مواصلة استكشاف آليات لتقديم ضمانات أفضل للخصوصية، مثل إخفاء هوية موفِّر الهوية والمعرّفات الموجَّهة.
- العلاقة مع WebAuthn: وفقًا لما اقترحته Apple، نحن متحمّسون جدًا لرؤية مستوى التقدّم في مفاتيح المرور والعمل على توفير تجربة متّسقة ومنسقة بين FedCM وكلمات المرور وWebAuthn وWebOTP.
- حالة تسجيل الدخول: وفقًا لما اقترحته Apple في Login Status API ضمن إطار عمل "متطلّبات الخصوصية"، نعتقد أنّ حالة تسجيل دخول المستخدم هي معلومات مفيدة يمكن أن تساعد المتصفّحات في اتخاذ قرارات مدروسة، ونتطلّع إلى الاطّلاع على الفرص التي تنشأ من ذلك. (تعديل)
- المؤسسات والتعليم: كما هو واضح في مجموعة عمل FedID، لا تزال هناك العديد من حالات الاستخدام التي لا توفّر لها FedCM خدمات جيدة ونريد العمل عليها، مثل تسجيل الخروج من قناة التقديم (إمكانية أن يرسل موفّر الهوية إشارة إلى مقدّمي الخدمات لتسجيل الخروج) ودعم SAML.
- العلاقة بطلبات المستندات/الشهادات المرسَلة عبر الأجهزة الجوّالة/غير ذلك: يُرجى مواصلة العمل لفهم كيفية تناسب هذه الطلبات مع FedCM، على سبيل المثال من خلال واجهة برمجة التطبيقات لخدمة طلب المستندات عبر الأجهزة الجوّالة.
استخدام واجهة برمجة التطبيقات FedCM API
يجب أن يكون لديك سياق آمن (HTTPS أو localhost) في كلّ من موفّر الهوية وموفّر الخدمة في Chrome لاستخدام FedCM.
لدمج FedCM، عليك إنشاء ملف معروف وملف إعدادات ونقاط نهاية لقائمة الحسابات وإصدار التعريفات والبيانات الوصفية للعميل (اختياريًا). ومن ثم، يعرض FedCM واجهات برمجة تطبيقات JavaScript التي يمكن للجهات المحظورة استخدامها لتسجيل الدخول من خلال موفِّر الهوية.
للتعرّف على كيفية استخدام FedCM API، يمكنك الاطّلاع على دليل مطوّري FedCM.
التفاعل مع الملاحظات ومشاركتها
- GitHub: يمكنك قراءة الشرح وطرح المشاكل ومتابعتها.
- دعم المطوّرين: يمكنك طرح الأسئلة والانضمام إلى المناقشات في مستودع "دعم مطوّري مبادرة حماية الخصوصية".
الامتثال لقوانين الخصوصية الإلكترونية
يتضمن استخدام FedCM، سواءً بصفتها مزوّدًا لخدمات الهوية أو مقدّمًا للخدمات، تخزين المعلومات على معدات المستخدم الطرفية أو الوصول إلى المعلومات المخزّنة فيها، وبالتالي هو نشاط يخضع لقوانين الخصوصية الإلكترونية في المنطقة الاقتصادية الأوروبية (EEA) والمملكة المتحدة بشكل عام ويتطلّب موافقة المستخدم. تقع على عاتقك مهمة تحديد ما إذا كان استخدامك لـ FedCM ضروريًا بشكل صارم لتقديم خدمة على الإنترنت طلبها المستخدم صراحةً، وبالتالي يكون معفى من متطلبات الموافقة. لمزيد من المعلومات، ننصحك بقراءة الأسئلة الشائعة المتعلقة بالامتثال للسياسات المتعلّقة بالخصوصية في "مبادرة حماية الخصوصية".