واجهة برمجة تطبيقات ويب لاتحاد الهوية الذي يحافظ على الخصوصية
ما هو FedCM؟
FedCM (إدارة بيانات الاعتماد المُدمَجة) هي نهج يحافظ على الخصوصية في خدمات الهوية المُدمَجة (مثل "تسجيل الدخول باستخدام...") ولا يعتمد على ملفات تعريف الارتباط التابعة لجهات خارجية أو عمليات إعادة التوجيه أثناء التنقّل.
حالة التنفيذ
- Chrome 平台状态
- Chrome 108 中已提供 FedCM。
- 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 كإشارة ثقة لواجهات برمجة التطبيقات الأخرى
بالإضافة إلى التعامل مع الهوية الفيدرالية، يعمل FedCM أيضًا كإشارة ثقة ل واجهات برمجة التطبيقات الأخرى في "مبادرة حماية الخصوصية".
بدءًا من الإصدار 131 من Chrome، تستخدم واجهة برمجة التطبيقات Storage Access API (SAA) واجهة برمجة التطبيقات FedCM كإشارة ثقة. يفيد هذا الدمج المواقع الإلكترونية التي تعتمد على كلّ من FedCM لأجل مصادقة وSAA لتفعيل إطارات iframe من مصادر مختلفة للوصول إلى مساحة التخزين اللازمة.
عندما يُصادق المستخدم باستخدام FedCM، مع تفعيل موافقة موفِّر الموارد، يمكن لمحتوى موفِّر الهوية المضمّن
على موقع موفِّر الموارد الإلكتروني استدعاء طريقة requestStorageAccess()
لالحصول تلقائيًا على إذن الوصول إلى مساحة التخزين
لملفات تعريف الارتباط ذات المستوى الأعلى بدون الحاجة إلى طلب إضافي من المستخدم. لن يتم منح الإذن تلقائيًا إلا ما دام المستخدم مسجِّلاً الدخول باستخدام FedCM
وكانت حالة تسجيل الدخول باستخدام FedCM نشطة. اطّلِع على مستندات Storage Access API
لمزيد من التفاصيل.
مَن هم المعنيّون باستخدام FedCM؟
لا نتوقع أن تكون ميزة "إدارة الطلبات المُرسَلة" مفيدة لك إلا في حال استيفاء جميع الشروط التالية:
- إذا كنت موفِّر هوية (IdP).
- إذا كنت متأثرًا بقيود ملفات تعريف الارتباط التابعة لجهات خارجية
- تكون مواقع RP هي مواقع إلكترونية تابعة لجهات خارجية. إذا كانت المواقع الإلكترونية التي تشير إليها هي مواقع إلكترونية ذات صلة بشكلٍ ذي مغزى، قد يكون من الأفضل استخدام مجموعات المواقع الإلكترونية الذات الصلة.
إذا كنت موفِّر هوية
تتطلّب ميزة FedCM الحصول على دعم من موفِّر الهوية. لا يمكن للجهة الموثوق بها استخدام FedCM بشكل مستقل. إذا كنت مقدّم خدمات، يمكنك أن تطلب من موفِّر الهوية (IdP) تقديم تعليمات.
إذا كنت متأثرًا بقيود ملفات تعريف الارتباط التابعة لجهات خارجية
يجب عدم استخدام FedCM إلا إذا كان الدمج الحالي يتأثّر بحدود ملفات تعريف الارتباط التابعة لجهات خارجية.
إذا لم تكن متأكّدًا مما إذا كانت عملية الدمج لتحديد الهوية ستستمر في العمل عندما لا تكون ملفات تعريف الارتباط التابعة لجهات خارجية متاحة، يمكنك اختبار التأثير على موقع إلكتروني من خلال حظر ملفات تعريف الارتباط التابعة لجهات خارجية على Chrome.
إذا لم يكن هناك تأثير يمكن اكتشافه في عملية الدمج بدون ملفات تعريف الارتباط التابعة لجهات خارجية، يمكنك مواصلة استخدام عملية الدمج الحالية بدون FedCM.
إذا لم تكن متأكّدًا من العناصر التي يجب التحقّق منها، يمكنك الاطّلاع على مزيد من المعلومات عن الميزات المعروفة التي من المتوقّع أن تتأثّر بقيود ملفات تعريف الارتباط التابعة لجهات خارجية.
جهات الإصدار التابعة لجهات خارجية
إذا كنت مقدّم خدمة تحديد الهوية الذي تربط جهات الاعتماد لديه علاقة طرف أول بموفّر الهوية، نتوقع أن تكون مجموعات المواقع الإلكترونية ذات الصلة خيارًا أفضل. مجموعات المواقع الإلكترونية ذات الصلة (RWS) هي طريقة تتيح للمؤسسة الإفصاح عن العلاقات بين المواقع الإلكترونية، حتى تسمح المتصفّحات بوصول محدود إلى ملفات تعريف الارتباط التابعة لجهات خارجية لأغراض محدّدة. ويسمح ذلك لملفات تعريف الارتباط التابعة لجهات خارجية بالعمل بين مجموعات من المواقع الإلكترونية ذات الصلة بشكلٍ ذي مغزى، حتى في حال حظر ملفات تعريف الارتباط التابعة لجهات خارجية.
كيف سيتفاعل المستخدمون مع FedCM؟
ينصبّ التركيز الأساسي في FedCM على الحدّ من تأثير القيود المفروضة على ملفّات تعريف الارتباط التابعة لجهات خارجية. يمكن للمستخدمين تفعيل FedCM أو إيقافه في إعدادات Chrome.
تم تصميم FedCM ليكون مستقلاً عن البروتوكول، ويقدّم الوظائف التالية المرتبطة بالمصادقة.
اطّلِع على العرض التجريبي لمعرفة كيفية عمل هذه الميزة.
تسجيل الدخول إلى جهة موثوق بها
عندما يصل المستخدم إلى الموقع الإلكتروني للجهة الموثوق بها (RP)، سيظهر مربّع حوار تسجيل الدخول إلى FedCM إذا كان المستخدم مسجِّلاً الدخول إلى موفِّر الهوية.
إذا لم يكن لدى المستخدم حساب على مقدّم الخدمة (RP) لدى موفّر الهوية (IdP)، يظهر مربّع حوار تسجيل مع نص بيان الإفصاح الإضافي، مثل بنود خدمة مقدّم الخدمة (RP) و سياسة الخصوصية في حال توفّرها.
يمكن للمستخدم إكمال عملية تسجيل الدخول من خلال النقر على متابعة بصفتك.... في حال نجاح العملية، يخزِّن ال browser حقيقة أنّ المستخدم قد أنشأ حسابًا موحَّدًا على RP مع موفِّر الهوية.
من المتوقّع أن تعمل وحدات RP على المتصفّحات التي لا تتيح استخدام FedCM. يجب أن يتمكّن المستخدمون من استخدام عملية تسجيل دخول حالية غير مستندة إلى FedCM. مزيد من المعلومات حول كيفية تسجيل الدخول في FedCM
إعدادات تفعيل FedCM أو إيقافه
يمكن للمستخدمين تفعيل ميزة "إدارة المحتوى في المقاييس" أو إيقافها في الإعدادات على Chrome على Android. انتقِل إلى الإعدادات > إعدادات الموقع الإلكتروني > تسجيل الدخول باستخدام حساب تابع لجهة خارجية، ثم غيِّر التبديل.
ويمكنهم إجراء ذلك نفسه في Chrome على الكمبيوتر المكتبي من خلال الانتقال إلى
chrome://settings/content/federatedIdentityApi
.
فترة الانتظار بين الإشعارات
إذا أغلق المستخدم واجهة المستخدم يدويًا، ستتم إضافة إدخال مؤقت إلى واجهة مستخدم الإعدادات ولن يتم عرض واجهة المستخدم في الموقع الإلكتروني نفسه لفترة زمنية. ستتم إعادة تفعيل واجهة المستخدم بعد هذه الفترة، ولكن سيتم تمديد المدة بشكلٍ كبير عند إغلاق التطبيق بشكلٍ متتالي. على سبيل المثال، في Chrome:
عدد المرات المتتالية التي تم فيها إغلاق التطبيق | الفترة الزمنية التي يتم فيها إخفاء طلب FedCM |
---|---|
1 | ساعتان |
2 | One day |
3 | أسبوع |
4+ | أربعة أسابيع |
قد تحدِّد المتصفحات الأخرى فترات زمنية مختلفة للانتظار.
يمكن للمستخدمين إعادة تفعيل FedCM في RP يدويًا إما من خلال الانتقال إلى صفحة الإعدادات أو النقر على واجهة مستخدم PageInfo (رمز قفل بجانب شريط عنوان URL) وإعادة ضبط الإذن.
خارطة الطريق
نحن نعمل على طرح عدد من التغييرات على FedCM. يمكنك الاطّلاع على التحديثات لمعرفة المزيد من التفاصيل.
- سجلّ التغييرات: تعديلات على Federated Credential Management API
هناك بعض الإجراءات التي نعلم أنّها لا تزال مطلوبة، بما في ذلك المشاكل التي سمعنا عنها من موفّري خدمات المصادقة وموفّري خدمات الربط وموفّري المتصفّحات. نعتقد أنّنا نعرف كيفية حلّ هذه المشاكل:
- إتاحة إطار iframe من مصدر مختلف: يمكن لموفّري الهوية (IdP) استدعاء 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 ضروريًا بشكل صارم لتقديم خدمة على الإنترنت طلبها المستخدم صراحةً، وبالتالي يكون معفى من متطلبات الموافقة. لمزيد من المعلومات، ننصحك بقراءة الأسئلة الشائعة المتعلقة بالامتثال للسياسات المتعلّقة بالخصوصية في "مبادرة حماية الخصوصية".