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

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

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

نظرة عامة

"مبادرة حماية الخصوصية" للويب وإزالة Chrome لملفات تعريف الارتباط التابعة لجهات خارجية من الويب يتم إدخال تغييرات مهمة على "خدمات Google Identity" وتسجيل دخول المستخدمين.

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

بالنسبة إلى معظم المواقع الإلكترونية، تتم عملية النقل بسلاسة من خلال إجراء تعديلات متوافقة مع الأنظمة القديمة لمكتبة JavaScript الخاصة بـ "خدمات Google Identity".

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

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

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

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

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

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

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

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

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

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

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

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

استخدام برنامج FedCM بدون خدمة "المراسلة عبر السحابة الإلكترونية من Firebase"
مستخدم جديد بجلسة واحدة باستخدام برنامج FedCM مستخدم جديد بجلسة واحدة بدون FedCM

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

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

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

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

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

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

جلسات متعددة

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

استخدام برنامج FedCM بدون خدمة "المراسلة عبر السحابة الإلكترونية من Firebase"
مستخدم متعدد الجلسات يستخدم برنامج FedCM مستخدم متعدد الجلسات بدون برنامج FedCM

قبل البدء

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

  • تتوفّر واجهة برمجة التطبيقات FedCM API في الإصدار 117 من Chrome أو الإصدارات الأحدث.

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

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

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

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

1- عليك إضافة علامة منطقية لتفعيل ميزة FedCM عند الإعداد باستخدام:

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

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

3- إزالة استخدام الطريقة getSkippedReason() في الرمز الخاص بك

ومع أنّ لحظة التخطّي، "isSkippedMoment()"، ستظل تستدعي من معاودة الاتصال google.accounts.id.prompt في عنصر PromptMomentNotication، ولن يتم تقديم السبب التفصيلي. ويمكنك إزالة أي رمز يعتمد على طريقة getSkippedReason() من الرمز.

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

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

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

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

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

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

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 B"، وهو يتضمّن أيضًا صفحة (https://onetap.example2.com) تستضيف ميزة "نقرة واحدة".

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

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

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

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

  • أخبر فريق الدعم بهذا التغيير القادم واستعد للرد على الاستفسار مسبقًا.

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

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

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

  • في حال عدم استخدام سياسة أمان المحتوى (CSP) في موقعك الإلكتروني، لا يلزم إجراء أي تغييرات.

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

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

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

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

احذف أي مراجع تؤدي إلى:

  • العنصر المخصّص 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. تأكَّد من عرض الطلب "نقرة واحدة" وأنّه يظهر على المحتوى الأساسي بأمان.

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

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

فترة التوقف عن العمل بميزة "نقرة واحدة"

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

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

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

مراجع مفيدة

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