نقدّم لك بعض التعديلات على FedCM، بما في ذلك تجربة مصدر جديدة لإعادة المصادقة التلقائية.
Federated Credential Management API (FedCM) هي واجهة برمجة تطبيقات ويب لتوفير هوية موحّدة تحافظ على الخصوصية. من خلال عملية ربط الهوية، يعتمد الطرف الموثوق به (RP) على موفِّر الهوية (IdP) لتزويد المستخدم بحساب بدون الحاجة إلى اسم مستخدم وكلمة مرور جديدَين.
FedCM هي واجهة برمجة تطبيقات مخصّصة تسمح للمتصفّح بفهم السياق الذي يتبادل فيه الطرف المعتمَد وموفِّر الهوية المعلومات، وإعلام المستخدم بمستويات المعلومات والامتيازات التي تتم مشاركتها، ومنع إساءة الاستخدام غير المقصودة.
التحديثات
هناك بعض التعديلات على عملية تنفيذ FedCM في Chrome:
- بالنسبة إلى نقطة نهاية تأكيد الهوية، يجب أن تفحص موفِّري الهويةالعنوان
Origin(بدلاً من العنوانReferer) لمعرفة ما إذا كانت قيمة تتطابق مع مصدر معرّف العميل. - تمت إضافة علامة Chrome
chrome://flags/#fedcm-without-third-party-cookiesجديدة. باستخدام هذا الخيار، يمكنك اختبار وظيفة FedCM في Chrome من خلال حظر ملفّات تعريف الارتباط التابعة لجهات خارجية.
للاطّلاع على جميع التعديلات السابقة على واجهة برمجة التطبيقات، يمكنك الاطّلاع على تعديلات واجهة برمجة التطبيقات إدارة بيانات الاعتماد المُدمَجة.
يتضمّن أحدث إصدار من FedCM ميزة جديدة لإعادة المصادقة التلقائية، ما يتيح إعادة مصادقة المستخدمين تلقائيًا عند عودتهم بعد المصادقة الأولية باستخدام FedCM. تتوفّر ميزة إعادة المصادقة التلقائية كإصدار تجريبي من المصدر بدءًا من الإصدار 112 من Chrome.
إعادة المصادقة التلقائية
في الوقت الحالي، بعد أن ينشئ المستخدم حسابًا موحّدًا على طرف موثوق به مع موفِّر هوية من خلال FedCM، عليه اتّباع الخطوات نفسها في واجهة المستخدم في المرة التالية التي يزور فيها الموقع الإلكتروني. وهذا يعني أنّه عليهم التأكيد صراحةً وإعادة المصادقة ل مواصلة عملية تسجيل الدخول. بما أنّ أحد أهداف FedCM الرئيسية هو منع التتبّع الخفي، تكون تجربة المستخدم هذه منطقية قبل أن ينشئ المستخدم الحساب الموحّد، ولكنها تصبح غير ضرورية ومعقدة بعد أن يمرّ عليها المستخدم مرة واحدة. بعد أن يمنح المستخدم الإذن للسماح بالتواصل بين موفِّر المحتوى وموفِّر الهوية، لا تعود هناك فائدة من الخصوصية أو الأمان في فرض تأكيد صريح آخر من المستخدم على إجراء سبق له تأكيده. لهذا السبب، يقدّم Chrome تجربة مستخدم أكثر سلاسة يمكن لجهات الإصدار الاختيارية تحديدها للمستخدمين المتكرّرين.
تعمل ميزة إعادة المصادقة التلقائية في إطار إدارة الهوية وإمكانية الوصول (FedCM) (يُشار إليها اختصارًا باسم "إعادة المصادقة التلقائية") على إعادة مصادقة المستخدمين تلقائيًا (عند تفعيل مورّدي خدمات الربط)، عند عودتهم بعد المصادقة الأولية باستخدام إطار عمل FedCM. يشير "المصادقة المبدئية" هنا إلى أنّ المستخدم ينشئ حسابًا أو يسجّل الدخول إلى الموقع الإلكتروني للمورّد المصدق من خلال النقر على الزر "متابعة باسم..." في مربّع حوار تسجيل الدخول إلى FedCM للمرة الأولى في نسخة المتصفّح نفسها.
يمكن لمسؤول المراجعة طلب إعادة المصادقة التلقائية من خلال الاتصال برقم navigator.credentials.get() باستخدام autoReauthn: true.
const cred = await navigator.credentials.get({
identity: {
providers: [{
configURL: "https://idp.example/fedcm.json",
clientId: "1234",
}],
// NOTE: We are exploring different API options to expose this
// functionality here:
// https://github.com/fedidcg/FedCM/issues/429#issuecomment-1426358523
// You should expect that, as a result of the origin trial, we'll
// learn more from developers and browser vendors what works best here.
autoReauthn: true, // default to false
},
});
من خلال هذه المكالمة، تتم إعادة المصادقة التلقائية في الحالات التالية:
- واجهة برمجة التطبيقات FedCM متاحة للاستخدام. على سبيل المثال، لم يوقف المستخدم واجهة برمجة التطبيقات FedCM سواء بشكل عام أو في RP.
- استخدَم المستخدم حسابًا واحدًا فقط من FedCM لتسجيل الدخول إلى الموقع الإلكتروني على هذا المتصفّح.
- سجَّل المستخدم الدخول إلى موفِّر الهوية باستخدام هذا الحساب.
- لم يتم إجراء إعادة المصادقة التلقائية خلال آخر 10 دقائق.
عند استيفاء الشروط أعلاه، تبدأ محاولة إعادة مصادقة
المستخدم تلقائيًا فور استدعاء navigator.credentials.get() FedCM.
جرّبه الآن
يمكنك تجربة إعادة المصادقة التلقائية في FedCM على الجهاز من خلال تفعيل علامة Chrome chrome://flags#fedcm-auto-re-authn على Chrome 112 أو الإصدارات الأحدث.
لأغراض الاختبار، يمكنك إعادة ضبط فترة الهدوء التي تبلغ 10 دقائق عن طريق إزالة databrowse.
- انتقِل إلى
chrome://history. - في مربّع سجلّ البحث، أدخِل مصدر الطلب.
- انقر على رمز النقاط الثلاث ⋮ واختَر الإزالة من السجلّ.
- أعِد تشغيل Chrome.
المشاركة في الفترة التجريبية لإصدار التطبيق الأصلي
يمكنك أيضًا تفعيل الميزة على موقعك الإلكتروني من خلال الانضمام إلى فترة تقييم الإصدار التمهيدي لجهة خارجية المتوفّرة من الإصدار 112 من Chrome وحتى الإصدار 114.
تتيح لك تجارب المصدر تجربة ميزات جديدة وتقديم ملاحظات حول سهولة استخدامها وعملها العملي وفعاليتها في منتدى معايير الويب. لمزيد من المعلومات، يُرجى الاطّلاع على دليل الإصدارات التجريبية للمطوّرين على الويب. للاشتراك في مرحلة التجربة والتقييم هذه أو غير ذلك، يُرجى الانتقال إلى صفحة التسجيل.
للتسجيل في مصدر الجهة الخارجية الفترة التجريبية وتفعيل الميزة على أطراف ثالثة:
- انتقِل إلى صفحة التسجيل في مرحلة التجربة والتقييم.
- انقر على الزر تسجيل واملأ النموذج لطلب رمز مميّز.
- أدخِل مصدر العرض على أنّه مصدر الويب.
- تحقَّق من مطابقة الجهات الخارجية لإدخال الرمز المميّز مع JavaScript على مصادر أخرى.
- انقر على إرسال.
- تضمين الرمز المميّز الذي تم إصداره على جهة خارجية
لتضمين الرمز المميّز في جهة خارجية، أضِف الرمز التالي إلى JavaScript المكتبة أو حزمة تطوير البرامج (SDK) التي يتم عرضها من مصدر الموقع الإلكتروني المسجَّل.
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = 'TOKEN_GOES_HERE';
document.head.appendChild(tokenElement);
استبدِل TOKEN_GOES_HERE بالرمز المميّز الخاص بك.
التفاعل مع الملاحظات ومشاركتها
إذا كانت لديك ملاحظات أو واجهت أي مشاكل أثناء الاختبار، يمكنك مشاركتها على crbug.com ضمن المكوّن Blink>Identity>FedCM.
صورة أليكس بيرز على Unsplash