بدءًا من الإصدار 128 من Chrome، ستبدأ واجهة برمجة التطبيقات
Multi-IdP في إجراء تجربة أصل على أجهزة الكمبيوتر، وستبدأ واجهة برمجة التطبيقات
Button Mode وحزمة
Continuation في إجراء تجربة أصل على أجهزة Android. باستخدام ميزة "موفّرو الهوية المتعدّدون"، يمكن للمطوّرين تحديد مصفوفة من موفّري الهوية المتعدّدين المتوافقين في طلب get() واحد. تضيف واجهة برمجة التطبيقات "وضع الزر" واجهة مستخدم جديدة. باستخدام واجهة برمجة التطبيقات "وضع الزر"، يمكن لموفّري الهوية استخدام واجهة برمجة التطبيقات FedCM حتى إذا لم يكن لدى المستخدمين جلسات نشطة مع موفّر الهوية عند إجراء طلب البيانات من واجهة برمجة التطبيقات. تتألف حزمة Continuation من واجهة Continuation API وواجهة Parameters API، ما يتيح تجربة مشابهة لعملية تفويض OAuth تتضمّن مربّع حوار أذونات تقدّمه جهة توفير الهوية. تتضمّن الحزمة أيضًا تغييرات أخرى، مثل Fields API وMultiple configURL وتصنيفات الحسابات المخصّصة.
مرحلة التجربة والتقييم: واجهة برمجة التطبيقات Multi IdP API
تتيح هذه الميزة للمستخدمين اختيار حساب من مجموعة موفّري خدمات الهوية المتوافقين، كما يستفيد موفّرو خدمات الاعتماد على الأطراف الخارجية من معدلات تسجيل دخول واشتراك أعلى. إذا سجّل المستخدم الدخول باستخدام عدة موفِّري هوية، سيُطلب منه تسجيل الدخول إلى الجهة الاعتمادية باستخدام أحد موفِّري الهوية.
يتم تحديد أولويات موفّري خدمات تحديد الهوية استنادًا إلى حسابات المستخدم الحالية والطوابع الزمنية المرتبطة بها.
- إذا سبق للمستخدم تسجيل الدخول إلى الجهة الاعتمادية باستخدام موفِّر هوية معيّن (أي إذا كان لديه "حساب متكرّر")، سيتم إدراج موفِّري الهوية هؤلاء أولاً.
- ضمن الحسابات التي تم إرجاعها، يتم ترتيب موفّري الهوية حسب الطابع الزمني لأحدث استخدام لهم، مع ظهور موفّر الهوية الأحدث استخدامًا في أعلى القائمة. في بعض الحالات، قد لا يتضمّن Chrome بيانات الطابع الزمني لحساب متكرّر الظهور. من المحتمل أن يكون ذلك بسبب تسجيل المستخدم الدخول قبل أن يتم تنفيذ سجلات الطابع الزمني في FedCM. تظهر هذه الحسابات أدناه الحسابات التي تتضمّن طوابع زمنية.
- إذا لم يكن لدى المستخدم حسابات متكرّرة مع أي موفّري هوية، يتم الالتزام بالترتيب الذي يوفّره الطرف المعتمد.
تتيح FedCM إعادة المصادقة تلقائيًا إذا طلب المطوّر ذلك، وإذا كان هناك حساب واحد فقط يتم استخدامه بشكل متكرر. في حال استخدام موفِّر هوية متعدّد، إذا كانت هناك حسابات متكرّرة لموفِّري هوية متعدّدين، لن تتم إعادة مصادقة المستخدم تلقائيًا. يُعدّ توفّر حساب متكرّر شرطًا أساسيًا لإعادة المصادقة تلقائيًا. لن يبدأ المتصفّح عملية إعادة المصادقة التلقائية إلا عندما يتعرّف المتصفّح بوضوح على الحساب. يشير ذلك إلى أنّه يجب أن يكون المستخدِم قد سبق له استخدام FedCM مع هذا الحساب المحدّد على هذا الطرف المعتمِد.
إذا تم ضبط حالة تسجيل الدخول الخاصة بالمستخدم على "تم تسجيل الخروج" لموفّر الهوية، لن يؤدي استدعاء FedCM إلى جلب حسابات لموفّر الهوية هذا. وبالمثل، إذا كانت حالة المستخدم هي تسجيل الخروج من جميع موفّري الهوية المتاحين، لن يتم عرض طلب تسجيل الدخول في FedCM تلقائيًا في وضع الأداة.
إذا كانت حالة تسجيل الدخول المحفوظة في المتصفّح لموفّر هوية هي "تم تسجيل الدخول"، ولكن لم يتم عرض أي حسابات لموفّر الهوية هذا من خلال طلب الجلب (على سبيل المثال، إذا انتهت صلاحية جلسة المستخدم، ولكن لم يتم تعديل حالة تسجيل الدخول بعد من خلال المتصفّح)، سيتم عرض واجهة المستخدم الخاصة بعدم التطابق لموفّر الهوية، ما يشير إلى أنّه على المستخدم تسجيل الدخول باستخدام موفّر الهوية غير المتطابق.
لمزيد من المعلومات حول حالة تسجيل الدخول، يمكنك الاطّلاع على المستندات. راجِع دليل المطوِّر لمزيد من التفاصيل حول التنفيذ.
مرحلة التجربة والتقييم: واجهة برمجة التطبيقات Multi IdP API
يمكنك تجربة واجهة برمجة التطبيقات Multi IdP API كمستخدم على RP التجريبي أو كمطوّر باستخدام الإصدار 128 من Chrome أو إصدار أحدث.
تجربة التطبيق كمستخدم
جرِّب بنفسك استخدام التطبيق. يجب التأكّد مما يلي:
- لم يتم ضبط Chrome لحظر طلبات تسجيل الدخول إلى خدمات خارجية على الصفحة:
chrome://settings/content/federatedIdentityApi. - لقد سجّلت الدخول إلى عدة موفّري هوية تجريبيين. اتّبِع التعليمات الواردة في صفحة العرض التوضيحي.
يُرجى العِلم أنّه لتجربة ميزة Multi-IdP على المواقع الإلكترونية التي لم يتم تسجيل مصدرها في التجربة الأصلية، عليك تفعيل علامة الميزة ضمن
chrome://flags/#fedcm-multi-idp.
تجربة الميزة بصفتك مطوِّرًا
إذا كان موفّر خدمة تسجيل الدخول قد تضمّن حزمة تطوير برامج (SDK) بلغة JavaScript في الجهة المعتمِدة (يُنصح بذلك)، يمكن للموفّر تنفيذ طلب navigator.credentials.get() لتفعيل موفّري خدمات هوية متعدّدين، ولن يحتاج مطوّرو الجهة المعتمِدة إلى تغيير الرمز البرمجي. وفي ما عدا ذلك،
على الجهة الاعتمادية استدعاء FedCM API بنفسها.
لاختبار موفِّري الهوية المتعدّدين على جهة معتمدة، حدِّد مصفوفة الموفِّرين المتوافقين على النحو التالي:
try {
const cred = await navigator.credentials.get({
identity: {
providers: [
{
configUrl: "https://idp1.example/foo.json", // first IdP
clientId: "123",
},
{
configUrl: "https://idp2.example/bar.json", // second IdP
clientId: "456",
}
]
}
});
const token = cred.token;
const currentConfigFileUrl = cred.configURL;
if (cred.configURL === 'https://idp1.example/foo.json') {
// handle the token for idp1.example
} else if (cred.configURL === 'https://idp2.example/bar.json') {
// handle the token for idp2.example
}
} catch (error) {
console.error("Error during credential retrieval:", error);
}
تخزِّن السمة configURL في العنصر الناتج عنوان URL الخاص بملف الإعدادات لموفّر الهوية الذي تمت مصادقة المستخدم من خلاله. يمكن أن يحدّد RP كيفية التعامل مع token الناتج، لأنّه يختلف حسب IdP.
المشاركة في التجربة الأصلية
تتيح لك مراحل التجربة والتقييم تجربة ميزات جديدة وتقديم ملاحظات حول مدى سهولة استخدامها ومدى فعاليتها وجدواها. لمزيد من المعلومات، يُرجى الاطّلاع على البدء في استخدام التجارب الأصلية.
يمكنك تجربة ميزة "موفّرو الهوية المتعدّدون" من خلال التسجيل في التجارب الأصلية التي تبدأ في الإصدار 128 من Chrome.
لتجربة ميزة Multi IdP، يمكن لمزوّد الخدمة تسجيل مصدره وإجراء تجربة للمصدر التابع للطرف الأول. يمكن أيضًا لموفِّر الهوية التسجيل في تجربة مصدر تابع لجهة خارجية وتفعيل ميزة "موفِّرو هوية متعدّدون" لجميع الأطراف المعتمِدة باستخدام حِزم تطوير البرامج (SDK) المستندة إلى JavaScript.
في ما يلي خطوات المشاركة في التجربة الأصلية:
- انتقِل إلى صفحة التسجيل في مرحلة التجربة والتقييم لواجهة برمجة التطبيقات Multi IdP API. 2. انقر على الزر تسجيل واملأ النموذج لطلب رمز مميز.
- للتسجيل في تجربة أصلية تابعة لجهة أولى، أدخِل أصل RP في حقل "أصل الويب". بالنسبة إلى تجربة المصدر التابع لجهة خارجية، أدخِل مصدر حزمة تطوير البرامج (SDK) المستندة إلى JavaScript الخاصة بموفّر خدمة تحديد الهوية (IdP) وضَع علامة في مربّع "المطابقة التابعة لجهة خارجية".
- انقر على إرسال.
- أدخِل الرمز المميز الصادر في صفحة "الطرف المعتمد":
- بالنسبة إلى المشاركين في التجربة الأصلية الخاصة بالطرف الأول:
- كعلامة وصفية في
<head>:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">- كعنوان HTTP:Origin-Trial: TOKEN_GOES_HERE - بالنسبة إلى المشاركين في التجربة الأصلية التابعة لجهة خارجية: - من خلال تقديم رمز مميّز آليًا
- بالنسبة إلى المشاركين في التجربة الأصلية الخاصة بالطرف الأول:
- كعلامة وصفية في
واجهة برمجة التطبيقات "وضع الزر" في Chrome على Android
اعتبارًا من الإصدار 128 من Chrome، ستبدأ مرحلة التجربة والتقييم لواجهة برمجة التطبيقات Button Mode API على Chrome على أجهزة Android، وذلك بعد تجربتها الأولية على أجهزة الكمبيوتر. باستخدام واجهة برمجة التطبيقات "وضع الزر"، يمكن لموفّري خدمات تحديد الهوية استخدام FedCM API حتى إذا تم تسجيل خروج المستخدمين من موفّر خدمة تحديد الهوية عند إجراء طلب إلى واجهة برمجة التطبيقات. يتم بدء عملية تسجيل الدخول بإيماءة من المستخدم، ما يعكس بشكل أفضل نيّته.
في الإصدار 128 من Chrome، تم تقديم ميزة جديدة تتيح لموفّري الهوية تضمين رمز الشعار الرسمي الخاص بطرف الاعتماد مباشرةً في رد نقطة نهاية البيانات الوصفية للعميل. يؤدي ذلك إلى تحسين واجهة المستخدم على الأجهزة الجوّالة في وضع الأزرار.
على غرار العلامة التجارية لموفِّر الهوية في ملف الإعداد، يمكن ضبط رموز RP
من جهة موفِّر الهوية وعرضها في الرد client_metadata_endpoint على النحو التالي:
"privacy_policy_url": "https://rp.example/privacy_policy.html",
"terms_of_service_url": "https://rp.example/terms_of_service.html",
"icons": [{
"url": "https://idp.example/rp-icon.ico",
"size": 40
}]
لمزيد من المعلومات حول إتاحة الرموز، يُرجى الاطّلاع على مستندات المطوّرين.
إذا لم يكن المستخدم قد سجّل الدخول بعد، يطلب FedCM منه تسجيل الدخول إلى موفّر الهوية باستخدام login_url الذي يوفّره موفّر الهوية من خلال علامة تبويب مخصّصة في Chrome.
إذا كان المستخدم يعيد المصادقة باستخدام حساب متكرّر، لن تظهر واجهة مستخدم بيان الإفصاح.
للتسجيل في التجربة الأصلية، اطّلِع على تعليمات واجهة برمجة التطبيقات "وضع الزر" على أجهزة الكمبيوتر. إذا سبق لك الاشتراك في التجربة الأصلية على الكمبيوتر المكتبي، ستتوفّر لك الميزة تلقائيًا على Chrome على Android بدءًا من الإصدار 128 من Chrome.
حزمة Continuation API لمتصفّح Chrome على Android
اعتبارًا من الإصدار 128 من Chrome، ستتوفّر حزمة Continuation API في Chrome على أجهزة Android كجزء من تجربة المصدر، وذلك بعد تجربتها الأولية على أجهزة الكمبيوتر. تتألف الحزمة من ميزات متعدّدة في FedCM، بما في ذلك واجهة برمجة التطبيقات Continuation API وواجهة برمجة التطبيقات Parameters API وواجهة برمجة التطبيقات Fields API وعناوين URL متعددة خاصة بـ configURL وتصنيفات مخصّصة للحساب.
تتيح واجهة برمجة التطبيقات Continuation API إمكانية تنفيذ خطوات متعددة لتسجيل الدخول. تتيح واجهة برمجة التطبيقات الخاصة بالمَعلمات تمرير مَعلمات إضافية إلى موفّر خدمة تحديد الهوية. تتيح واجهة Fields API لجهة الاعتماد طلب سمات حساب محدّدة لعرضها في واجهة المستخدم الخاصة بالإفصاح ضمن مربّع حوار FedCM. بالإضافة إلى ذلك،
تتيح ميزة "متعددة" استخدام ملفات إعدادات متعددة لموفِّر الهوية، وتسمح ميزة "تصنيفات الحسابات المخصّصة" لموفِّري الهوية بإضافة تعليقات توضيحية إلى الحسابات كي تتمكّن الجهات الاعتمادية من فلترتها حسب هذه التصنيفات.configURL
لمزيد من المعلومات حول حزمة Continuation API، يمكنك الاطّلاع على مشاركة المدونة حول حزمة Continuation API على أجهزة الكمبيوتر المكتبي. للتسجيل في التجربة الأصلية، اتّبِع هذه التعليمات. إذا سبق لك الاشتراك في التجربة الأصلية على الكمبيوتر المكتبي، ستتوفّر لك الميزات تلقائيًا على Chrome لنظام Android بدءًا من الإصدار 128 من Chrome.
التفاعل مع الملاحظات ومشاركتها
إذا كانت لديك ملاحظات أو واجهت أي مشاكل، يمكنك إبلاغنا عن مشكلة. سنحرص على إبقاء دليل المطوّرين الأساسي الخاص بواجهة FedCM محدّثًا، بالإضافة إلى صفحة سجلّات التعديلات المجمّعة.