يتيح Chrome إعادة المصادقة التلقائية في FedCM
Federated Credential Management API (FedCM) هي واجهة برمجة تطبيقات ويب لتوفير هوية متحدّة تحافظ على الخصوصية. من خلال عملية ربط الهوية، يعتمد الطرف الموثوق به (RP) على موفِّر الهوية (IdP) لتزويد المستخدم بحساب بدون الحاجة إلى اسم مستخدم وكلمة مرور جديدَين.
تسمح مبادرة FedCM للمتصفّح بفهم السياق الذي يتبادل فيه مقدّم الخدمة وموفّر الهوية المعلومات. وتُعلِم هذه الميزة المستخدم بالمعلومات ومستويات امتيازاته المشترَكة، وتمنع إساءة الاستخدام غير المقصودة. يتوفّر "مدير الحملة المركزي" في Chrome منذ الإصدار 108.
في الإصدار 115 من Chrome، أصبح بروتوكول FedCM متوافقًا مع إعادة المصادقة التلقائية، ما يحسّن تجارب المستخدمين ويسمح بإعادة مصادقة أكثر سلاسة مع مقدّم الخدمة المعتمَد بعد الموافقة الأولية.
إعادة المصادقة التلقائية
في الوقت الحالي، بعد أن ينشئ المستخدم حسابًا موحّدًا على مقدّم خدمات الربط مع موفّر خدمة تعريف الهوية من خلال FedCM API، عليه اتّباع الخطوات نفسها في واجهة المستخدم في المرة التالية التي يليها عند زيارة الموقع الإلكتروني. وهذا يعني أنّه على المستخدم إعادة التأكيد صراحةً وبشكل يدوي لإعادة المصادقة ومواصلة خطوات تسجيل الدخول.
على الرغم من أنّ تجربة المستخدم الصريحة تكون منطقية قبل أن ينشئ المستخدم الحساب الموحّد لمنع التتبّع (وهو أحد الأهداف الرئيسية لإدارة الهوية وإمكانية الوصول)، تكون هذه التجربة مزعجة بلا داعٍ بعد أن يمرّ المستخدم بها مرة واحدة: بعد منح المستخدم الإذن للسماح بالتواصل بين مقدّم خدمات الاعتماد وموفّر خدمة إدارة الهوية، لا تعود هناك أي فائدة من الخصوصية أو الأمان في فرض تأكيد صريح آخر من العميل لشيء سبق أن أقرّ به. لهذا السبب، نقدّم تجربة مستخدم أكثر سلاسة يمكن لجهات الإصدار اختيارها للمستخدمين المتكرّرين.
يمكن أن تسمح إعادة المصادقة التلقائية لواجهة FedCM (يُشار إليها اختصارًا باسم "إعادة المصادقة التلقائية") للمستخدمين بإعادة المصادقة تلقائيًا عند عودتهم بعد المصادقة الأولية باستخدام FedCM. يشير "المصادقة المبدئية" هنا إلى أنّ المستخدم ينشئ حسابًا أو يسجّل الدخول إلى الموقع الإلكتروني للمورّد المصدق من خلال النقر على الزر "متابعة باسم..." في مربّع حوار تسجيل الدخول إلى FedCM للمرة الأولى في نسخة المتصفّح نفسها.

اختيار خيار لإعادة المصادقة تلقائيًا
نحن بصدد تقديم ميزة إعادة المصادقة التلقائية لتوفير تجربة مستخدم أفضل ومواءمة مع
المواصفات، وستكون تجربة المستخدم التلقائية مختلفة بدون أي تغيير في الرمز المبرمَج. عند توفّر ميزة إعادة المصادقة التلقائية، يغيّر المتصفّح سلوكه استنادًا
إلى الخيار الذي تختاره في mediation
الخيار الذي يقدّمه المطوّرون
navigator.credentials.get()
.
const cred = await navigator.credentials.get({
identity: {
providers: [{
configURL: "https://idp.example/fedcm.json",
clientId: "1234",
}],
},
mediation: 'optional', // this is the default
});
mediation
هو سمة في واجهة برمجة التطبيقات
لإدارة بيانات الاعتماد، ويتصرف بالطريقة
نفسها التي يعمل بها
PasswordCredential
وFederatedCredential
، وهو متوافق جزئيًا مع
PublicKeyCredential
أيضًا. يقبل الحقل القيم الأربع التالية:
'required'
: تتطلّب هذه الميزة دائمًا التوسّط للمتابعة، على سبيل المثال، النقر على الزرّ "متابعة" في واجهة المستخدم. اختَر هذا الخيار إذا كان من المتوقّع من المستخدمين منح الإذن صراحةً في كل مرة يحتاجون فيها إلى المصادقة.'optional'
(الإعداد التلقائي): إعادة المصادقة التلقائية إن أمكن، وتتطلّب التوسّط في حال عدم توفّرها. ننصحك باختيار هذا الخيار في صفحة تسجيل الدخول.'silent'
: إعادة المصادقة التلقائية إن أمكن، أو تعذُّر المصادقة بدون الحاجة إلى توسّط في حال عدم توفّر المصادقة ننصحك باختيار هذا الخيار في الصفحات التي تريد فيها إبقاء المستخدمين مسجّلين الدخول، ولكنها ليست صفحة تسجيل الدخول المخصّصة، مثل صفحة سلعة على موقع إلكتروني لشحن البضائع أو صفحة مقالة على موقع إلكتروني لأخبار.-
'conditional'
: يُستخدَم مع WebAuthn ولا يتوفّر مع FedCM في الوقت الحالي.
من خلال هذا الطلب، تحدث إعادة المصادقة التلقائية في الحالات التالية:
- ميزة FedCM متاحة للاستخدام. على سبيل المثال، لم يوقف المستخدم FedCM إما بشكل عام أو للمسؤول عن المعالجة في الإعدادات.
- استخدم المستخدم حسابًا واحدًا فقط مع FedCM API لتسجيل الدخول إلى الموقع الإلكتروني على هذا المتصفّح.
- سجَّل المستخدم الدخول إلى موفِّر الهوية باستخدام هذا الحساب.
- لم يتم إجراء إعادة المصادقة التلقائية خلال آخر 10 دقائق.
- لم يطلب مقدّم الطلب
navigator.credentials.preventSilentAccess()
تسجيل الدخول مجددًا بعد تسجيل الدخول السابق.
عند استيفاء الشروط أعلاه، تبدأ محاولة إعادة مصادقة
المستخدم تلقائيًا فور استدعاء navigator.credentials.get()
FedCM.
فرض التوسّط مع preventSilentAccess()
لن تؤدي إعادة مصادقة المستخدمين تلقائيًا بعد تسجيل خروجهم مباشرةً إلى تقديم تجربة مستخدم جيدة جدًا. لهذا السبب، تتضمّن FedCM فترة هدوء تبلغ 10 دقائق بعد إعادة المصادقة التلقائية لمنع هذا السلوك. وهذا يعني أنّ عملية إعادة المصادقة التلقائية تحدث مرة واحدة على الأكثر كل 10 دقائق ما لم يسجّل المستخدم الدخول مجددًا في مهلة تعادل 10 دقائق. يجب أن يستدعي مقدّم الخدمة navigator.credentials.preventSilentAccess() لطلب المتصفّح صراحةً إيقاف إعادة المصادقة التلقائية عندما يسجّل المستخدم الخروج من مقدّم الخدمة صراحةً، على سبيل المثال، بالنقر على زر تسجيل الخروج.
function signout() {
navigator.credentials.preventSilentAccess();
location.href = '/signout';
}
يمكن للمستخدمين إيقاف إعادة المصادقة التلقائية في الإعدادات.
يمكن للمستخدمين إيقاف إعادة المصادقة التلقائية من قائمة الإعدادات:
- على متصفّح Chrome للكمبيوتر المكتبي، انقر على
chrome://password-manager/settings
> تسجيل الدخول تلقائيًا. - على متصفّح Chrome لأجهزة Android، افتح الإعدادات > مدير كلمات المرور > انقر على رمز الصعيقل في أعلى يسار الشاشة > تسجيل الدخول تلقائيًا.
من خلال إيقاف التبديل، يمكن للمستخدم إيقاف سلوك إعادة المصادقة التلقائية بالكامل. يتم تخزين هذا الإعداد ومزامنته على جميع الأجهزة، إذا كان المستخدم مسجّلاً الدخول إلى حساب Google على مثيل Chrome وكانت المزامنة مفعّلة.
مشاركة الملاحظات
إذا كنت تختبر FedCM، يمكنك مشاركة ملاحظاتك أو أي مشاكل تواجهك على crbug.com ضمن المكوّن "Blink>Identity>FedCM".
صورة Noah Samuel Franz على Unsplash