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

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

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

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

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

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

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

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

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

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

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

على غرار العلامة التجارية لموفّر الهوية في ملف الإعداد، يمكن ضبط رموز الجهة المحظورة في جهة موفِّر الهوية وعرضها في استجابة 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 عمليات تسجيل الدخول المتعدّدة الخطوات. تسمح واجهة برمجة التطبيقات بقلم "المَعلمات" بتمرير مَعلمات إضافية إلى موفِّر الهوية (idP). تتيح واجهة Fields API للشخص المعني طلب سمات حساب معيّنة لواجهة مستخدم الإفصاح في مربّع حوار FedCM. بالإضافة إلى ذلك، تتيح configURL المتعددة ملفات إعدادات متعددة لموفّر الهوية، وتسمح تصنيفات الحسابات المخصّصة لموفّري الهوية بإضافة تعليقات توضيحية إلى الحسابات حتى يتمكّن موفّرو الخدمات من فلترتها حسب هذه التصنيفات.

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

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

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