النقل إلى برنامج FedCM

يساعدك هذا الدليل في فهم التغييرات التي أدخلتها Federated Credentials Management API (FedCM) على تطبيقك على الويب.

عند تفعيل FedCM، يعرض المتصفّح طلبات من المستخدم ولا يتم استخدام ملفات تعريف الارتباط التابعة لجهات خارجية.

نظرة عامة

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

في معظم المواقع الإلكترونية، يتم نقل البيانات بسلاسة من خلال التحديثات المتوافقة مع الإصدارات القديمة لـ مكتبة JavaScript في Google Identity Services.

معلومات جديدة حول ميزة "تسجيل الدخول تلقائيًا"

تم إطلاق الإصدار التجريبي من Federated Credential Management (FedCM) لواجهات Google Identity Services في آب (أغسطس) 2023. اختبر العديد من المطوّرين واجهة برمجة التطبيقات وقدّموا ملاحظات مفيدة.

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

في الآونة الأخيرة، أجرى Chrome تغييرًا على تجربة مستخدم عملية تسجيل الدخول التلقائي في FedCM. لا تكون إعادة التأكيد مطلوبة إلا عندما يتم تقييد ملفات تعريف الارتباط التابعة لجهات خارجية. وهذا يعني ما يلي:

  1. لا يتطلب تسجيل الدخول التلقائي في FedCM إعادة التأكيد للمستخدمين المكرّري الزيارة. إذا أعاد المستخدمون التأكيد باستخدام واجهة مستخدم FedCM، سيتم احتساب عملية إعادة التأكيد هذه ضمن متطلبات إيماءات المستخدم في ما يتعلق بفترة ما بعد 3PCD.

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

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

بالنسبة إلى مسار تسجيل الدخول التلقائي، لن يؤدي JavaScript في GIS إلى تنشيط FedCM على إصدار قديم من Chrome (قبل M121)، حتى إذا اختار موقعك الإلكتروني تفعيل FedCM.

الاختلافات في رحلة المستخدِم

وتتشابه تجارب "نقرة واحدة" عند استخدام برنامج FedCM وبدونه أيضًا مع الاختلافات البسيطة.

مستخدم جديد لجلسة واحدة

باستخدام FedCM، تعرض ميزة "نقرة واحدة" اسم النطاق بدلاً من اسم التطبيق.

استخدام FedCM بدون FedCM
مستخدم جديد في جلسة واحدة يستخدم FedCM مستخدم جديد في جلسة واحدة بدون استخدام ميزة "إدارة العملاء المتعددين"

مستخدم مكرّر الزيارة لجلسة واحدة (مع إيقاف تسجيل الدخول التلقائي)

باستخدام FedCM، يعرض One Tap اسم النطاق بدلاً من اسم التطبيق.

استخدام FedCM بدون FedCM
رحلة المستخدِم المتكرّر الذي يستخدم جلسة واحدة باستخدام واجهة برمجة التطبيقات FedCM (مع إيقاف ميزة "تسجيل الدخول تلقائيًا") رحلة المستخدم المكرّر الزيارة لجلسة واحدة بدون برنامج "المراسلة عبر السحابة الإلكترونية من Firebase" (مع إيقاف ميزة "تسجيل الدخول تلقائيًا")

مستخدم جلسة واحدة يعود للدخول (مع تفعيل ميزة "تسجيل الدخول تلقائيًا")

باستخدام FedCM، يمكن للمستخدمين النقر على X لإلغاء تسجيل الدخول التلقائي في غضون 5 ثواني بدلاً من النقر على الزر إلغاء.

استخدام FedCM بدون FedCM
مسار المستخدِم المتكرّر في جلسة واحدة باستخدام واجهة برمجة التطبيقات FedCM (مع تفعيل ميزة "تسجيل الدخول تلقائيًا") رحلة المستخدم المكرّر الزيارة لجلسة واحدة بدون برنامج "المراسلة عبر السحابة الإلكترونية من Firebase" (مع تفعيل تسجيل الدخول التلقائي)

جلسات متعددة

باستخدام FedCM، يعرض تطبيق One Tap اسم النطاق بدلاً من اسم التطبيق.

استخدام FedCM بدون FedCM
مستخدم متعدد الجلسات باستخدام FedCM مستخدم جلسات متعددة بدون FedCM

قبل البدء

تأكَّد من أنّ إعدادات المتصفّح وإصداره متوافقان مع FedCM API، ويُنصح بالتحديث إلى أحدث إصدار.

  • تتوفّر FedCM API في الإصدار 117 من Chrome أو الإصدارات الأحدث.

  • تم تفعيل إعداد تسجيل الدخول إلى خدمات تابعة لجهات خارجية في Chrome.

  • إذا كان إصدار متصفّح Chrome 119 أو إصدارًا أقدم، افتح chrome://flags وفعِّل ميزة FedCmWithoutThirdPartyCookies التجريبية. ليس عليك اتّباع هذه الخطوة إذا كان لديك الإصدار 120 من متصفّح Chrome أو إصدار أحدث.

نقل بيانات تطبيق الويب

اتّبِع الخطوات التالية لتفعيل برنامج FedCM وتقييم التأثير المحتمَل لنقل البيانات، وإذا لزم الأمر، يمكنك إجراء تغييرات على تطبيق الويب الحالي:

1. أضِف علامة منطقية لتفعيل FedCM عند الإعداد باستخدام:

2. أزِل استخدام طرق isDisplayMoment() وisDisplayed() وisNotDisplayed() وgetNotDisplayedReason() في الرمز البرمجي.

لتحسين خصوصية المستخدم، لم يعُد المرجع google.accounts.id.prompt يعرض أي إشعارات بشأن لحظات العرض في عنصر PromptMomentNotication. أزِل أي رمز يعتمد على methods ذات الصلة بلحظة العرض. وهي طُرق isDisplayMoment() وisDisplayed() isNotDisplayed() وgetNotDisplayedReason().

3- أزِل استخدام طريقة getSkippedReason() في الرمز البرمجي.

على الرغم من أنّه سيظلّ يتمّ استدعاء لحظة التخطّي، isSkippedMoment()، من google.accounts.id.prompt الإجراء المُعاد الاتصال به في PromptMomentNotication العنصر، لن يتمّ تقديم سبب تفصيلي. أزِل من الرمز أي رمز يعتمد على getSkippedReason().

يُرجى العلم أنّه عند تفعيل ميزة "إدارة المحتوى في الوقت الفعلي"، لن يتغيّر رمز إشعار اللحظة المرفوضة isDismissedMoment() وطريقة السبب التفصيلي getDismissedReason() المرتبط به.

4. أزِل سمات نمط position من data-prompt_parent_id وintermediate_iframes.

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

5- يمكنك تعديل تنسيق الصفحة إذا لزم الأمر.

يتحكّم المتصفّح في حجم طلبات المستخدمين وموضعها. استنادًا إلى تنسيق الصفحات الفردية، قد يتم تركيب بعض المحتوى في مواضع مخصَّصة لميزة "نقرة واحدة على الكمبيوتر المكتبي" ولا يمكن استخدامها بأي شكل من الأشكال، مثل سمة النمط وdata-prompt_parent_id وintermediate_iframes وإطار iframe مخصّص وغير ذلك من الطرق الإبداعية.

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

6- أضِف allow="identity-credentials-get" السمة إلى الإطار الرئيسي إذا كان تطبيق الويب يطلب واجهة برمجة التطبيقات One Tap API من إطارات iframe من مصادر متعددة.

يُعتبر إطار iframe من مصادر متعددة إذا لم يكن مصدره مطابقًا تمامًا للأصل الرئيسي. على سبيل المثال:

  • نطاقان مختلفان: https://example1.com وhttps://example2.com
  • نطاقات المستوى الأعلى المختلفة: https://example.uk وhttps://example.jp
  • النطاقات الفرعية: https://example.com وhttps://login.example.com

    لتحسين خصوصية المستخدم، عند استدعاء One Tap API من إطارات iframe من مصادر مختلفة، يجب إضافةسمة allow="identity-credentials-get" في كل علامة إطار رئيسي iframe:

    <iframe src="https://your.cross-origin/onetap.page" allow="identity-credentials-get"></iframe>
    

    إذا كان تطبيقك يستخدم إطار iframe يحتوي على إطار iframe آخر، يجب التأكّد من إضافة السمة إلى كل إطار iframe، بما في ذلك جميع إطارات iframe الفرعية.

    على سبيل المثال، إليك السيناريو التالي:

  • يحتوي المستند العلوي (https://www.example.uk) على إطار iframe باسم "Iframe A"، والذي يضمّن صفحة (https://logins.example.com).

  • تحتوي هذه الصفحة المضمّنة (https://logins.example.com) أيضًا على إطار iframe يُسمى "إطار iframe ب"، والذي يضمّن بدوره صفحة (https://onetap.example2.com) تستضيف ميزة "النقرة الواحدة".

    لضمان إمكانية عرض ميزة "النقرة الواحدة" بشكل صحيح، يجب إضافة السمة إلى كلّ من علامتَي Iframe A وIframe B.

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

  • عدِّل مستندات المطوّرين لتتضمّن كيفية إعداد عنصر iframe بشكل صحيح للاتّصال بموقعك الإلكتروني. يمكنك إدراج رابط إلى هذه الصفحة في مستنداتك.

  • عدِّل صفحة الأسئلة الشائعة للمطوّرين، إن أمكن.

  • يُرجى إبلاغ فريق الدعم بهذا التغيير القادم والاستعداد للردّ على الاستفسار مسبقًا.

  • تواصل بشكل استباقي مع الشركاء أو العملاء أو مالكي المواقع الإلكترونية المتأثّرين لإجراء عملية نقل سلسة لميزة "إدارة العملاء المتعددين".

7- أضِف هذه التوجيهات إلى سياسة أمان المحتوى (CSP).

وهذه الخطوة اختيارية لأنّ بعض المواقع الإلكترونية لا تحدّد سياسة خدمة المحتوى.

  • إذا لم يتم استخدام CSP في موقعك الإلكتروني، ليس عليك إجراء أي تغييرات.

  • إذا كان مزوّد خدمة إدارة الخدمات السحابية (CSP) يعمل مع ميزة "النقرة الواحدة" الحالية ولم تكن تستخدم connect-src أو frame-src أو script-src أو style-src أو default-src، لن تحتاج إلى إجراء أي تغييرات.

  • بخلاف ذلك، اتّبِع هذا الدليل لإعداد موفّر خدمة إدارة المحتوى. بدون إعداد CSP الصحيح، لن يتم عرض ميزة FedCM One Tap على الموقع الإلكتروني.

8. إزالة إتاحة Accelerated Mobile Pages (AMP) لتسجيل الدخول

إتاحة تسجيل دخول المستخدم إلى صفحات AMP هي ميزة اختيارية من ميزات نظام المعلومات الجغرافية (GIS) التي ربما نفّذها تطبيق الويب الذي تستخدمه. في هذه الحالة،

احذِف أيّ إشارات إلى:

  • عنصر amp-onetap-google المخصّص

  • <script async custom-element="amp-onetap-google" src="https://cdn.ampproject.org/v0/amp-onetap-google-0.1.js"></script>
    

    ننصحك بإعادة توجيه طلبات تسجيل الدخول من صفحات AMP إلى مسار تسجيل الدخول المكوّن من صفحات HTML على موقعك الإلكتروني. يُرجى العِلم أنّ Intermediate Iframe Support API ذات الصلة لا تتأثّر.

اختبار عملية نقل البيانات والتأكّد منها

بعد إجراء التغييرات اللازمة استنادًا إلى الخطوات السابقة، يمكنك التأكّد من اكتمال عملية نقل البيانات بنجاح.

  1. تأكَّد من أنّ المتصفّح متوافق مع FedCM وأنّ لديك جلسة حالية في حساب Google.

  2. انتقِل إلى صفحات "النقرة الواحدة" في تطبيقك.

  3. تأكَّد من ظهور طلب One Tap وتداخله بأمان مع المحتوى الأساسي.

  4. تأكَّد من أنّ بيانات الاعتماد الصحيحة يتم عرضها في نقطة النهاية أو طريقة طلب إعادة الاتصال عند تسجيل الدخول إلى تطبيقك باستخدام ميزة "النقرة الواحدة".

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

فترة الانتظار لاستخدام ميزة "نقرة واحدة"

يؤدي النقر على رمز "النقرة الواحدة" في أعلى يسار الشاشة إلى إغلاق الطلب وبدء فترة الانتظار التي تؤدي بدورها إلى عدم عرض طلب "النقرة الواحدة" مؤقتًا. في Chrome، إذا أردت عرض طلب One Tap مرة أخرى قبل انتهاء فترة الانتظار، يمكنك إعادة ضبط حالة فترة الانتظار من خلال النقر على رمز القفل في شريط العناوين ثم النقر على الزر إعادة ضبط الإذن.

فترة انتظار تسجيل الدخول التلقائي

عند اختبار تسجيل الدخول التلقائي، يتم تفعيل ميزة "نقرة واحدة" باستخدام أداة "المراسلة عبر السحابة الإلكترونية من Firebase"، بحيث تفصل بين كل محاولة تسجيل دخول تلقائي مسافة 10 دقائق. لا يمكن مجددًا إعادة ضبط فترة الهدوء. عليك الانتظار لمدة 10 دقائق أو استخدام حساب Google مختلف للاختبار من أجل تفعيل ميزة "تسجيل الدخول تلقائيًا" مرة أخرى.

مراجع مفيدة

أداة تحليل "مبادرة حماية الخصوصية" (PSAT) هي إحدى إضافات Chrome DevTools للمساعدة في اعتماد واجهات برمجة تطبيقات بديلة، مثل FedCM. وهي تعمل عن طريق فحص موقعك الإلكتروني بحثًا عن الميزات المتأثرة وعرض قائمة بالتغييرات المقترَحة.