FedCM: واجهة برمجة تطبيقات لاتحاد الهوية تحافظ على الخصوصية

توضّح هذه الصفحة مزايا واجهة برمجة التطبيقات FedCM API، والجهات التي عليها التفكير في استخدامها وكيفية تفاعل المستخدمين معها.

Federated Credential Management (FedCM) هو نهج سهل الاستخدام يركّز على الخصوصية لخدمات الهوية الموحّدة (مثل تسجيل الدخول باستخدام موفِّر الهوية)، ولا يعتمد على ملفات تعريف الارتباط التابعة لجهات خارجية أو عمليات إعادة التوجيه أثناء التنقّل.

باستخدام FedCM، يحصل المستخدم على طريقة جديدة للمصادقة مع موفِّر هوية خارجي على موقع إلكتروني.

ما هو اتحاد الهوية؟

يفوّض اتحاد الهوية عملية المصادقة أو التفويض لشخص (مستخدم أو كيان) إلى موفِّر هوية خارجي موثوق به. بعد ذلك، يسمح موفِّر الهوية للشخص بتسجيل الدخول إلى موقع إلكتروني تابع لجهة معتمِدة. باستخدام اتحاد الهوية، تعتمد الجهة المعتمِدة على موفِّر الهوية لتزويد المستخدم بحساب بدون طلب اسم مستخدم وكلمة مرور جديدَين.

باستخدام حلول الهوية الموحّدة، لا يضطر المستخدم إلى إنشاء مجموعة أخرى من بيانات الاعتماد لكل جهة معتمِدة. يحسّن ذلك تجربة المستخدم، ويقلّل من فرص التصيّد الاحتيالي، ويساعد الجهة المعتمِدة في الحصول على معلومات المستخدم التي تم التحقّق منها من موفِّري الهوية الموثوق بهم.

الحلول التقليدية وملفات تعريف الارتباط التابعة لجهات خارجية

تعتمد آليات اتحاد الهوية التقليدية على عناصر iframe أو عمليات إعادة التوجيه أو ملفات تعريف الارتباط التابعة لجهات خارجية، ما يثير مخاوف بشأن الخصوصية. يمكن استغلال هذه الحلول لتتبُّع المستخدمين على الويب، ولا يمكن للمتصفّحات التمييز بين خدمات الهوية المشروعة والمراقبة غير المرغوب فيها.

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

اتحاد الهوية باستخدام FedCM

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

لماذا نحتاج إلى FedCM؟

مقارنةً بالحلول التقليدية، يقدّم FedCM مزايا متعددة للنظام الإيكولوجي على الويب، وقد تم تصميمه مع مراعاة المستخدمين والمطوّرين في الجهات المعتمِدة وموفِّري الهوية.

إتاحة حلول الهوية بدون ملفات تعريف الارتباط التابعة لجهات خارجية

يمكن أن يساعد FedCM في تقليل الاعتماد على ملفات تعريف الارتباط التابعة لجهات خارجية، والتي تُستخدم غالبًا لتتبُّع المستخدمين على الويب. تقدّم واجهة برمجة التطبيقات تجربة تسجيل دخول مخصّصة حتى عندما لا تتوفّر ملفات تعريف الارتباط التابعة لجهات خارجية (على سبيل المثال، في "وضع التصفّح المتخفي").

تم أيضًا دمج FedCM مع واجهات برمجة التطبيقات الأخرى في "مبادرة حماية الخصوصية". على سبيل المثال، تستخدِم Storage Access API مصادقة FedCM كإشارة ثقة. يكون هذا التكامل مفيدًا للمواقع الإلكترونية التي تعتمد على كلّ من FedCM للمصادقة وSAA للسماح لعناصر iframe التي يتم تحميلها من مصادر متعددة بالوصول إلى مساحة التخزين اللازمة.

تجربة مُحسنة للمستخدمين

يقدّم FedCM مربّع حوار لواجهة المستخدم يتوسّط فيه المتصفّح لعملية تسجيل دخول مبسطة بنقرة واحدة. تعالج واجهة برمجة التطبيقات أيضًا مشكلة صفحات تسجيل الدخول المزدحمة، والتي تُعرف أحيانًا باسم مشكلة NASCAR.

مثال على مشكلة NASCAR: موقع إلكتروني يتضمّن واجهة مستخدم غير منظَّمة بسبب توفّر سبعة خيارات مختلفة لتسجيل الدخول.
مثال على مشكلة NASCAR: موقع إلكتروني يتضمّن واجهة مستخدم مزدحمة بسبب اختيار موفِّر هوية واسع جدًا.

بدلاً من عدد كبير من أزرار تسجيل الدخول إلى وسائل التواصل الاجتماعي، يقدّم FedCM واجهة أبسط وسهلة الاستخدام.

الأمان

يتيح نهج الهوية الموحّدة للمستخدمين استخدام حسابات موثوق بها يديرها موفِّرو الهوية. باستخدام هذا النهج، لا يضطر المستخدمون إلى إضافة بيانات الاعتماد إلى كل موقع إلكتروني. يقلّل ذلك من الأجزاء المُعرضة لهجمات التصيّد الاحتيالي. بالإضافة إلى ذلك، بدلاً من تنفيذ الجهات المعتمِدة لإجراءات أمان قوية خاصة بها، يمكنها الاعتماد على خبرة موفِّري الهوية المتخصصين في إدارة الهوية الآمنة.

يهدف FedCM إلى جعل عملية الهوية الموحّدة أكثر ملاءمة للمستخدمين، ما يشجعهم على تفضيلها على عمليات الهوية الأقل أمانًا.

تجربة مخصّصة لمزيد من المستخدمين

يقلّل FedCM من المشاكل في تجربة المستخدم أثناء عملية الاشتراك في الحساب. توضّح دراسات حالة "خدمة هوية Google" أنّ المستخدمين يفضّلون إنشاء حسابات باستخدام عملية "نقرة واحدة" في FedCM على خيارات تسجيل الدخول المتعددة الخطوات.

باستخدام FedCM، يمكن لمزيد من موفِّري الهوية أن يقدّموا للمستخدمين تجربة تسجيل دخول بنقرة واحدة. مع توفّر المزيد من موفِّري الهوية الذين يقدّمون عملية هوية بنقرة واحدة، يمكن للمستخدمين الاختيار من بين مجموعة أوسع من موفِّري الهوية على الجهات المعتمِدة. يقدّم FedCM آلية محسّنة لاختيار موفِّر الهوية من خلال عرض الحسابات الأكثر ملاءمة للمستخدمين.

مع ارتفاع معدّلات الاشتراك، يمكن للجهات المعتمِدة أن تقدّم تجربة مخصّصة لمزيد من المستخدمين.

إتاحة موفِّري هوية متنوّعين

تهدف واجهة المستخدم المبسّطة في FedCM إلى عرض قائمة مخصّصة للمستخدمين بموفِّري الهوية ذوي الصلة. باستخدام آلية اختيار موفِّر الهوية في FedCM، لم يعُد خيار الجهة المعتمِدة لموفِّري الهوية مقيّدًا بحجم قاعدة مستخدمي موفِّر الهوية. على سبيل المثال، قد يكون لدى جزء من المستخدمين حساب فقط على small-idp.example، وليس على bigger-idp.example.

باستخدام ميزة "موفِّرو الهوية المتعدّدون"، يمكن أن يتيح rp.example كلاً من small-idp.example وbigger-idp.example بدون ازدحام واجهة المستخدم. ويعود ذلك بالنفع على جميع الأطراف:

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

مَن عليه استخدام FedCM؟

نتوقّع أن يكون FedCM مفيدًا لك فقط إذا استوفيت الشروط التالية:

  • أنت موفِّر هوية ولديك جهات معتمِدة خارجية.
  • لديك حلّ الهوية الخاص بك وتعتمد عليه نطاقات متعددة.
  • تهدف إلى إتاحة عمليات الهوية الموحّدة حتى للمستخدمين الذين يختارون التصفّح بدون ملفات تعريف الارتباط التابعة لجهات خارجية.

أنت موفِّر هوية

يتطلب FedCM إتاحة موفِّر الهوية. لا يمكن للجهة المعتمِدة استخدام FedCM بشكلٍ مستقل. إذا كنت جهة معتمِدة، يمكنك أن تطلب من موفِّر الهوية تقديم التعليمات.

جهات معتمِدة متعددة

إذا كانت الجهات المعتمِدة خارجية أو كان لديك أكثر من أربع جهات معتمِدة تستخدم حلّ الهوية الخاص بك، ننصحك باستخدام FedCM API للهوية الموحّدة.

تهدف إلى إتاحة عملية اتحاد الهوية بدون ملفات تعريف الارتباط

يتيح FedCM عمليات الهوية الموحّدة الأساسية حتى للمستخدمين الذين يتصفّحون بدون ملفات تعريف الارتباط التابعة لجهات خارجية. باستخدام FedCM، يمكن للمستخدمين مواصلة الاشتراك وتسجيل الدخول والخروج باستخدام حساباتهم الموحّدة على الجهات المعتمِدة.

بالإضافة إلى ذلك، يعمل FedCM كإشارة ثقة لـ Storage Access API، ما يقلّل من المشاكل في طلبات الوصول إلى مساحة التخزين التي بدأها موفِّر الهوية.

تفاعل المستخدم مع FedCM

تم تصميم FedCM ليكون مستقلاً عن بروتوكول المصادقة، ويقدّم للمستخدم عملية جديدة للمصادقة مع جهة معتمِدة باستخدام موفِّر هوية خارجي. جرِّب FedCM باستخدام العرض التوضيحي.

تسجيل الدخول إلى جهة معتمِدة

يمكن للمستخدمين اختيار حساب من مجموعة موفِّري الهوية الذين تتيحهم الجهة المعتمِدة. إذا سجّل المستخدم الدخول باستخدام عدة موفِّري هوية، سيُطلب منه تسجيل الدخول إلى الجهة المعتمِدة باستخدام أحدها.

تظهر حسابات المستخدم بالترتيب التالي:

  • تظهر أولاً الحسابات التي تم الوصول إليها على جهاز المستخدم، مع ظهور الحسابات التي تم الوصول إليها مؤخرًا أولاً.
  • تظهر بعد ذلك الحسابات التي سبق أن وصل إليها المستخدم على الجهة المعتمِدة وفقًا لموفِّر الهوية. يتم استخراج المعلومات عن الحسابات التي تم الوصول إليها من قيمة سمةapproved_clients نقطة نهاية الحساب.
  • تظهر الحسابات التي لم يسبق استخدامها على الجهة المعتمِدة آخرًا.

إذا كانت هناك حسابات متعددة ضمن أيّ من مستويات الأولوية هذه، يتم ترتيب هذه الحسابات بشكلٍ إضافي استنادًا إلى ترتيب موفِّري الهوية الذين تقدّمهم الجهة المعتمِدة في طلب get() call.

أوضاع واجهة مستخدم FedCM

يتضمّن FedCM وضعَين لواجهة المستخدم: الوضع غير النشط والوضع النشط.

الوضع غير النشط : لا يتطلب الوضع غير النشط تفاعلاً من المستخدم لظهور طلب FedCM. عندما يصل المستخدم إلى الموقع الإلكتروني التابع للجهة المعتمِدة، سيظهر مربّع حوار تسجيل الدخول إلى FedCM عند استدعاء navigator.credentials.get() إذا استوفيت الشروط التالية:

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

الوضع النشط : في الوضع النشط، يجب إجراء تفعيل مؤقت للمستخدم (مثل النقر على الزر تسجيل الدخول باستخدام…) لتشغيل طلب FedCM.

يسجّل المستخدم الدخول إلى جهة معتمِدة باستخدام FedCM في الوضع النشط.

يمكن للمستخدم إكمال عملية تسجيل الدخول من خلال النقر على متابعة باسم المستخدم. إذا نجحت العملية، يخزّن المتصفّح حقيقة أنّ المستخدم أنشأ حسابًا موحّدًا على الجهة المعتمِدة باستخدام موفِّر الهوية.

إذا لم يكن لدى المستخدم حساب على الجهة المعتمِدة باستخدام موفِّر الهوية، سيظهر مربّع حوار الاشتراك مع نص إفصاح إضافي، مثل بنود خدمة الجهة المعتمِدة وسياسة الخصوصية.

الامتثال لقوانين الخصوصية الإلكترونية

يتضمّن استخدام FedCM، سواء كموفِّر هوية أو جهة معتمِدة، تخزين المعلومات على جهاز المستخدم أو الوصول إلى المعلومات المخزّنة فيه، وبالتالي فهو نشاط يخضع لقوانين الخصوصية الإلكترونية في المنطقة الاقتصادية الأوروبية والمملكة المتحدة التي تتطلب بشكلٍ عام موافقة المستخدم. تقع على عاتقك مسؤولية تحديد ما إذا كان استخدامك لـ FedCM ضروريًا للغاية لتقديم خدمة على الإنترنت طلبها المستخدم صراحةً، وبالتالي يكون معفيًا من شرط الحصول على الموافقة.

Vision

نعمل بنشاط على تطوير ميزات جديدة لمعالجة القيود الحالية وتقديم تجربة أفضل للمستخدمين.

  • نحن بصدد استكشاف صياغات أكثر هدوءًا لتجربة المستخدم لضمان عملية مصادقة سلسة وسهلة وأقل تدخلاً للمستخدمين.
  • نحن ملتزمون بتحسين خصوصية المستخدم. نخطّط للانتقال إلى نموذج NextGen FedCM الذي يركّز على التفويض ويقلّل من مشكلة تتبُّع موفِّر الهوية. باستخدام NextGen، يمكن للمستخدمين تسجيل الدخول إلى الجهات المعتمِدة بدون أن يتتبّعهم موفِّر الهوية.
  • يهدف FedCM إلى عرض مجموعة أوسع من موفِّري الهوية للمستخدمين، استنادًا إلى خيار الجهة المعتمِدة. لتحقيق ذلك، نعمل على واجهات برمجة التطبيقات Multi-IdP وIdP Registration.
  • نعمل بنشاط على دمج FedCM مع طرق المصادقة الأخرى، مثل مفاتيح المرور، مع وسائل إضافية مثل "التعبئة التلقائية" لتقديم تجربة مصادقة موحّدة.

يمكنك الاطّلاع على خارطة الطريق لمزيد من التفاصيل.