تعديلات FedCM: واجهة برمجة تطبيقات موفِّر الهوية المتعدد على الكمبيوتر المكتبي وواجهة برمجة تطبيقات Button Mode وحزمة Continuation Bundle الخاصة بمتصفِّح Chrome على مراحل التجربة والتقييم من Android

بدءًا من الإصدار 128 من Chrome، تبدأ واجهة برمجة تطبيقات موفِّر الهوية المتعدد (IdP) في مرحلة التجربة والتقييم على الكمبيوتر، وستبدأ واجهة برمجة التطبيقات Button Mode API وحزمة Continuation في مرحلة تجريبية على Android. باستخدام ميزة موفِّر الهوية المتعدد، يمكن للمطوّرين تحديد مجموعة من عدة موفِّري هوية معتمَدين في مكالمة get() واحدة. تضيف Button Mode API واجهة مستخدم جديدة. باستخدام واجهة برمجة التطبيقات Button Mode API، يمكن لموفِّري الهوية استخدام واجهة FedCM API حتى إذا لم يسبق للمستخدمين إجراء جلسات نشطة لموفِّر الهوية عند طلب البيانات من واجهة برمجة التطبيقات. تتكوّن حزمة Continuation من واجهة برمجة التطبيقات Continuation API وواجهة برمجة التطبيقات نظام "المعلمات" (params API)، اللتين تتيحان تجربة شبيهة بمسار تفويض OAuth باستخدام مربّع حوار للأذونات التي يقدّمها موفِّر الهوية. تشمل الحزمة أيضًا تغييرات أخرى مثل "واجهة برمجة التطبيقات للحقول" و"configURL" المتعددة و"تصنيفات الحساب" المخصصة.

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

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

يُسجِّل مستخدم الدخول من خلال موفِّري هوية مختلفين باستخدام واجهة برمجة تطبيقات موفِّر الهوية المتعدد.

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

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

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

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

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

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

لمزيد من المعلومات حول حالة تسجيل الدخول، يُرجى الاطّلاع على المستندات. اطّلِع على دليل المطوِّر للحصول على مزيد من التفاصيل حول عملية التنفيذ.

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

يمكنك تجربة واجهة برمجة التطبيقات Multi IdP API كمستخدم في الإصدار التجريبي من RP أو كمطوِّر يستخدم الإصدار 128 من Chrome أو إصدار أحدث.

التجربة كمستخدم

يمكنك تجربة ذلك بنفسك بصفتك مستخدمًا. تأكَّد مما يلي:

  • لم يتم ضبط Chrome لحظر طلبات تسجيل الدخول في الخدمات التابعة لجهات خارجية على الصفحة: chrome://settings/content/federatedIdentityApi.
  • لقد سجّلت الدخول إلى العديد من موفِّرات الهوية (IdPs) التجريبية. اتّبِع التعليمات التي تظهر في صفحة العرض التوضيحي.

يُرجى العلم بأنّه لتجربة موفِّر الهوية المتعدد على المواقع الإلكترونية التي لم يتم تسجيل مصدرها في مرحلة التجربة والتقييم، عليك تفعيل علامة الميزة ضمن chrome://flags/#fedcm-multi-idp.

جرِّب الخدمة كمطوّر برامج

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

لاختبار موفِّري الهوية المتعددين على جهة محظورة، حدِّد مصفوفة مزوِّدي الخدمة المعتمَدين على النحو التالي:

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 لملف الإعداد الخاص بموفِّر الهوية الذي صادق عليه المستخدم. يمكن للجهة المحظورة تحديد كيفية التعامل مع السمة token الناتجة لأنّها تختلف استنادًا إلى موفِّر الهوية.

المشاركة في مرحلة التجربة والتقييم

تتيح لك مراحل التجربة والتقييم تجربة ميزات جديدة وتقديم ملاحظات حول سهولة استخدامها وتطبيقها العملي وفعاليتها. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة بدء استخدام مراحل التجربة والتقييم.

يمكنك تجربة ميزة "موفِّر الهوية المتعدد" من خلال التسجيل في تجارب المصدر التي تبدأ من Chrome 128.

لتجربة موفِّر الهوية المتعدد، يمكن للجهة المحظورة تسجيل المصدر وتنفيذ مرحلة تجريبية في خدمة أصلية من الطرف الأول. ومن الممكن أيضًا لموفِّر الهوية التسجيل في تجربة مصدر تابعة لجهة خارجية وإتاحة ميزة موفِّر الهوية المتعدد لجميع الجهات المحظورة باستخدام حِزم تطوير البرامج (SDK) بلغة JavaScript.

خطوات المشاركة في مرحلة التجربة والتقييم:

  1. انتقِل إلى صفحة التسجيل الخاصة بمرحلة التجربة والتقييم في واجهة برمجة التطبيقات Multi IdP API.
  2. انقر على الزر تسجيل واملأ النموذج لطلب رمز مميّز.
  3. للتسجيل في مرحلة التجربة والتقييم للطرف الأول، أدخِل مصدر الجهة المحظورة في "مصدر الويب". . بالنسبة إلى فترة التجربة والتقييم التابعة لجهة خارجية، أدخِل مصدر حزمة تطوير البرامج (SDK) بلغة JavaScript الخاصة بموفِّر الهوية وتحقَّق من "مطابقة الجهة الخارجية". .
  4. انقر على إرسال.
  5. قدِّم الرمز المميّز الذي تم إصداره في صفحة الجهة المحظورة:
    • بالنسبة إلى المشاركين في مرحلة التجربة والتقييم التابعة للطرف الأول:
      • كعلامة وصفية في <head>: <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
      • كعنوان HTTP: Origin-Trial: TOKEN_GOES_HERE
    • بالنسبة إلى المشاركين في مرحلة التجربة والتقييم التابعة لجهة خارجية، ينطبق عليهم ما يلي:
      • من خلال توفير رمز مميّز آليًا.

Button Mode API لـ Chrome على Android

من الإصدار 128 من Chrome، ستبدأ الفترة التجريبية لواجهة Button Mode API في Chrome على أجهزة Android، بعد الفترة التجريبية الأولى على أجهزة الكمبيوتر. باستخدام Button Mode API، يمكن لموفّري الهوية استخدام واجهة FedCM API حتى إذا كان المستخدمون مسجّلين خروجهم من موفِّر الهوية عند طلب بيانات من واجهة برمجة التطبيقات. يبدأ تدفق تسجيل الدخول من خلال إيماءة المستخدم، والتي تعكس نية المستخدم بشكل أفضل.

في Chrome 128، تم تقديم ميزة جديدة تتيح لموفّري الهوية تضمين رمز الشعار الرسمي للجهة المحظورة في استجابة نقطة نهاية البيانات الوصفية للعميل مباشرةً. هذا يحسن واجهة المستخدم على الأجهزة المحمولة في وضع الزر.

على غرار العلامة التجارية لموفّر الهوية في ملف الإعداد، يمكن ضبط رموز الجهة المحظورة في جهة موفِّر الهوية وعرضها في استجابة 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
   }]
رموز شعار موفِّر الهوية والجهة المحظورة
رموز شعار موفِّر الهوية (idP) والجهة المحظورة في واجهة المستخدم الخاصة ببيان الإفصاح على الأجهزة الجوّالة

لمزيد من المعلومات حول دعم الرموز، يمكنك الاطّلاع على مستندات مطوّري البرامج.

إذا لم يسجّل المستخدم دخوله بعد، سيطلب FedCM من المستخدم تسجيل الدخول إلى موفِّر الهوية باستخدام login_url الذي قدّمه موفِّر الهوية (idP) من خلال علامة تبويب Chrome Custom Tab (CCT).

أحد المستخدمين يسجّل الدخول من خلال وضع زرّ على جهاز جوّال.

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

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

للتسجيل في مرحلة التجربة والتقييم، يُرجى الاطّلاع على تعليمات Button Mode API على الكمبيوتر المكتبي. إذا سبق لك الاشتراك في مرحلة التجربة والتقييم على جهاز كمبيوتر مكتبي، ستتوفّر هذه الميزة تلقائيًا لك على Chrome على أجهزة Android بدءًا من الإصدار Chrome 128.

حزمة واجهة برمجة تطبيقات Continuation API في Chrome على أجهزة Android

من الإصدار 128 من Chrome، ستتوفّر حزمة واجهة برمجة التطبيقات Continuation API مع متصفِّح Chrome على نظام التشغيل Android في إطار مرحلة التجربة والتقييم، وذلك بعد انتهاء الفترة التجريبية الأوّلية على أجهزة الكمبيوتر المكتبي. تتألّف الحزمة من ميزات متعدّدة في FedCM، بما في ذلك Continuation API وparameters API وFields API وMultiple configURLs وتصنيفات الحساب المخصّصة.

تعمل واجهة برمجة تطبيقات Continuation API على تفعيل تدفقات تسجيل الدخول متعدد الخطوات. تسمح واجهة برمجة التطبيقات params بتمرير مَعلمات إضافية إلى موفِّر الهوية (idP). تتيح واجهة Fields API للشخص المعني طلب سمات حساب معيّنة لواجهة مستخدم الإفصاح في مربّع حوار FedCM. بالإضافة إلى ذلك، تتوافق عدة configURL مع ملفات إعداد متعددة لموفِّر الهوية، وتتيح تصنيفات الحسابات المخصّصة لموفِّري الهوية إمكانية إضافة تعليقات توضيحية إلى الحسابات حتى يمكن للجهات المحظورة فلترتها حسب هذه التصنيفات.

للتعرف على مزيد من المعلومات حول حزمة واجهة برمجة تطبيقات Continuation، يمكنك الاطلاع على مشاركة المدونة حول حزمة Continuation API على أجهزة الكمبيوتر المكتبية. للتسجيل في مرحلة التجربة والتقييم، اتّبِع هذه التعليمات. إذا سبق لك الاشتراك في مرحلة التجربة والتقييم على جهاز كمبيوتر مكتبي، ستتوفّر الميزات تلقائيًا لك على Chrome على أجهزة Android بدءًا من الإصدار Chrome 128.

التفاعل مع الملاحظات ومشاركتها

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