دعم إعادة المصادقة التلقائية في FedCM

يتيح Chrome إعادة المصادقة التلقائية في FedCM

Federated Credential Management API (FedCM) هي web API لحماية الخصوصية من خلال ميزة اتحاد الهوية. من خلال اتحاد الهوية، يعتمد الجهة المحظورة (الجهة المعتمَدة) على موفِّر هوية (IdP) ليوفّر للمستخدم بدون الحاجة إلى اسم مستخدم وكلمة مرور جديدين.

يتيح FedCM للمتصفح فهم السياق الذي يظهر فيه الجهة المحظورة وموفِّر الهوية تبادل المعلومات. تخبر المستخدم بالمعلومات والامتيازات المستويات التي تتم مشاركتها ومنع إساءة الاستخدام غير المقصودة. أصبح FedCM متاحًا في متصفِّح Chrome بدءًا من الإصدار 108

في Chrome 115، يحصل FedCM على دعم لإعادة المصادقة التلقائية وهو ما يحسّن تجربة المستخدم وتتيح إعادة المصادقة بسهولة أكبر على الجهة المحظورة بعد الموافقة الأولية.

إعادة المصادقة التلقائية

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

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

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.

إعادة المصادقة التلقائية على حساب المستخدم من خلال برنامج "المراسلة عبر السحابة الإلكترونية من Firebase":

فرض التوسّط مع preventSilentAccess()

لن تؤدي إعادة المصادقة التلقائية للمستخدمين فور تسجيل خروجهم إلى تجربة مستخدم جيدة جدًا. لهذا السبب يتمتع FedCM بفترة انتظار مدتها 10 دقائق بعد إعادة المصادقة التلقائية لمنع هذا السلوك. يعني هذا أنّ إعادة المصادقة التلقائية تتم مرة واحدة كل 10 دقائق بحد أقصى ما لم يسجّل المستخدم الدخول مرة أخرى خلال 10 دقائق. على الجهة المحظورة استدعاء navigator.certifieds.preventSilentAccess() مطالبة المتصفِّح صراحةً بإيقاف إعادة المصادقة التلقائية عندما يسجِّل المستخدم خروجه إلى الجهة المحظورة صراحةً، على سبيل المثال، من خلال النقر على زر تسجيل الخروج.

function signout() {
  navigator.credentials.preventSilentAccess();
  location.href = '/signout';
}

يمكن للمستخدمين إيقاف إعادة المصادقة التلقائية من خلال الإعدادات.

يمكن للمستخدمين إيقاف إعادة المصادقة التلقائية من قائمة الإعدادات:

  • على متصفّح Chrome المتوافق مع أجهزة الكمبيوتر المكتبي، انتقِل إلى chrome://password-manager/settings > تسجيل الدخول تلقائيًا.
  • على متصفّح Chrome الذي يعمل بنظام التشغيل Android، افتح الإعدادات >. مدير كلمات المرور > انقر على المسن في أعلى الجانب الأيسر > تسجيل الدخول تلقائيًا.

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

مشاركة الملاحظات

في حال اختبار FedCM، يمكنك مشاركة ملاحظاتك أو أي مشاكل تواجهها. على crbug.com ضمن المكوِّن "Blink>Identity>FedCM".

صورة من تصوير نوح صامويل فرانز على موقع Unسباش