يناقش هذا الدليل تأثير الإيقاف النهائي لملفات تعريف الارتباط التابعة لجهات خارجية في خدمات Google. مكتبة تسجيل الدخول على النظام الأساسي تتضمن الموضوعات المخطط الزمني الخطوات التالية لإجراء تحديث متوافق مع الأنظمة القديمة في المكتبة، وكيفية إجراء تقييم للتأثير والتأكّد من استمرار تسجيل دخول المستخدم كما هو متوقع، وإذا لزم الأمر، تعليمات لتحديث تطبيق الويب. خيارات إدارة الفترة الانتقالية وطريقة الحصول على المساعدة مغطاة أيضًا.
حالة المكتبة
يتم حظر أي تطبيقات ويب جديدة من استخدام النظام الأساسي المتوقّف لتسجيل الدخول باستخدام حساب Google المكتبة، بينما يمكن للتطبيقات التي تستخدم المكتبة مواصلة عملية الترقية حتى إشعار آخر. حاسمة لم يتم إنشاء التاريخ النهائي للغروب (إيقاف التشغيل) للمكتبة. يمكنك الاطّلاع على مقالة إيقاف الدعم والإيقاف نهائيًا لمزيد من المعلومات.
تتأثّر تطبيقات الويب بحظر ملفات تعريف الارتباط التابعة لجهات خارجية من خلال "مبادرة حماية الخصوصية" في Chrome. التي تستخدم مكتبة منصة "تسجيل الدخول بحساب Google" للحفاظ على السلوك الحالي، بدون الحاجة إلى استخدام ملفات تعريف الارتباط التابعة لجهات خارجية، أو تحديث متوافق مع الأنظمة القديمة إضافة واجهات برمجة تطبيقات FedCM إلى هذه المكتبة. وبينما تكون معظم التغييرات سلسة، تعديل يقدّم اختلافات في طلبات موافقة المستخدمين وإطار iframe permissions-policy وسياسة أمان المحتوى (CSP). هذه التغييرات قد تؤثر في تطبيق الويب وتتطلب تغييرات على رمز التطبيق والموقع الإلكتروني التكوين.
أثناء الفترة الانتقالية، يتحكم خيار التهيئة في ما إذا كان يتم استخدام واجهات برمجة تطبيقات FedCM أثناء تسجيل دخول المستخدم.
المخطط الزمني
تاريخ آخر تعديل: يوليو 2024
في ما يلي التواريخ والتغييرات التي تؤثّر في سلوك تسجيل دخول المستخدم:
- آذار (مارس) 2023 إيقاف الدعم لمنصّة "تسجيل الدخول باستخدام حساب Google" المكتبة.
- كانون الثاني (يناير) 2024 يحظر Chrome% 1 من ملفات تعريف الارتباط التابعة لجهات خارجية وهي ميزة "تسجيل الدخول باستخدام حساب Google". تم منح مكتبة المنصة استثناء مؤقت من ملفات تعريف الارتباط التابعة لجهات خارجية. الحظر من خلال إعادة ميزة تم إيقافها نهائيًا
- بدء فترة النقل في يوليو 2024 ومكتبة منصة "تسجيل الدخول باستخدام حساب Google"
تمت إضافة إمكانية استخدام واجهات برمجة تطبيقات FedCM. بشكل تلقائي، تتحكم Google في النسبة المئوية
من طلبات تسجيل دخول المستخدمين باستخدام FedCM خلال هذه الفترة ويمكن لتطبيقات الويب
ستلغي هذا السلوك بشكلٍ صريح باستخدام المَعلمة
use_fedcm
. - الاستخدام الإلزامي (التاريخ الذي يتم تحديده) لواجهات برمجة تطبيقات FedCM من قِبل Google
مكتبة تسجيل الدخول على النظام الأساسي، والتي يتم بعد ذلك تجاهل مَعلمة
use_fedcm
وتستفيد جميع طلبات تسجيل دخول المستخدمين من FedCM.
بعد الانتقال إلى واجهات برمجة تطبيقات FedCM، لن تعود مكتبة منصة "تسجيل الدخول بحساب Google" متاحة بحظر ملفات تعريف الارتباط التابعة لجهات خارجية. للاطّلاع على آخر الأخبار حول ملفات تعريف الارتباط التابعة لجهات خارجية حظر المحتوى، يُرجى الاطّلاع على المخطط الزمني لـ "مبادرة حماية الخصوصية" في Chrome.
الخطوات التالية
هناك ثلاثة خيارات يمكنك اتباعها:
- تقييم التأثير وتحديث تطبيق الويب إذا لزم الأمر. يقيّم هذا النهج ما إذا كانت الميزات التي تتطلب تغييرات في تطبيق الويب قيد الاستخدام. تتوفر التعليمات في القسم التالي من هذا الدليل.
- نقل إلى مكتبة خدمات هوية Google (GIS). يساعد الانتقال إلى أحدث لمكتبة تسجيل الدخول المتوافقة. يمكنك إجراء ذلك من خلال اتّباع هذه التعليمات.
- عدم اتّخاذ أي إجراء: سيتم تحديث تطبيق الويب تلقائيًا عند يتم نقل مكتبة "تسجيل الدخول باستخدام حساب Google" إلى واجهات برمجة تطبيقات FedCM لتسجيل دخول المستخدم. هذه هي أقل جهدًا، ولكن هناك بعض المخاطر من عدم قدرة المستخدمين على تسجيل الدخول لتطبيق الويب.
إجراء تقييم الأثر
اتّبِع هذه التعليمات لتحديد ما إذا كان من الممكن تحديث تطبيق الويب بسلاسة. من خلال تحديث متوافق مع الأنظمة القديمة أو إذا كانت التغييرات ضرورية لتجنب عدم تمكُّن المستخدمين من تسجيل الدخول في حال توفّرت مكتبة منصة "تسجيل الدخول بحساب Google" بالكامل تعتمد واجهات برمجة تطبيقات FedCM
ضبط إعدادات الجهاز
تشمل واجهة برمجة التطبيقات للمتصفّح وأحدث إصدار من مكتبة النظام الأساسي "تسجيل الدخول بحساب Google" ما يلي: ضرورية لاستخدام FedCM أثناء تسجيل دخول المستخدم.
قبل المتابعة:
- حدِّث "Chrome للكمبيوتر المكتبي" إلى أحدث إصدار. Chrome لنظام Android يتطلب الإصدار M128 أو إصدارًا أحدث ولا يمكن اختباره باستخدام الإصدارات السابقة.
افتح
chrome://flags
واضبط الميزات التالية على هذه القيم:- #fedcm-authz مُفعَّل، إذا كان موقعك الإلكتروني يستخدم سياسة أمان المحتوى
التي تحظر
https://accounts.google.com/gsi/ottoken
. - تم تفعيل #tracking-protection-3pcd
- #third-party-cookie-deprecation-trial غير مفعّلة
- تم إيقاف #tpcd-metadata-grants
- تم إيقاف #tpcd-heuristics-grants
ثم أعِد تشغيل Chrome.
- #fedcm-authz مُفعَّل، إذا كان موقعك الإلكتروني يستخدم سياسة أمان المحتوى
التي تحظر
ضبط
use_fedcm
علىtrue
عند إعداد منصة "تسجيل الدخول بحساب Google" المكتبة في تطبيق الويب. تظهر عملية الإعداد عادةً على النحو التالي:gapi.client.init({use_fedcm: true})
، أوgapi.auth2.init({use_fedcm: true})
، أوgapi.auth2.authorize({use_fedcm: true})
.
إلغاء صلاحية النُسخ المخزّنة مؤقتًا من مكتبة منصة "تسجيل الدخول بحساب Google" عادةً ما تكون هذه الخطوة غير ضرورية نظرًا لأن أحدث إصدار من المكتبة يتم تنزيله مباشرةً إلى المتصفح من خلال تضمين
api.js
أوclient.js
أوplatform.js
في علامة<script src>
(يمكن أن يستخدم الطلب أيًّا من هذه أسماء الحزم للمكتبة).تأكَّد من إعدادات OAuth لمعرِّف عميل OAuth:
- افتح صفحة "بيانات الاعتماد" في Google API Console.
التحقق من تضمين معرِّف الموارد المنتظم (URI) الخاص بموقعك الإلكتروني في مصادر JavaScript المعتمَدة يتضمن عنوان URI المخطط اسم المضيف المؤهّل بالكامل فقط. مثلاً:
https://www.example.com
يمكن عرض بيانات الاعتماد بشكل اختياري باستخدام إعادة توجيه إلى نقطة نهاية. التي تستضيفها بدلاً من استخدام استدعاء JavaScript. إذا كان الأمر كذلك، التحقّق من تضمين معرّفات الموارد المنتظمة (URI) لإعادة التوجيه في معرّفات الموارد المنتظمة (URI) المعتمَدة لإعادة التوجيه تتضمّن معرّفات الموارد المنتظمة (URI) الخاصة بإعادة التوجيه المخطط واسم المضيف المؤهّل بالكامل والمسار ويجب أن يلتزم بقواعد التحقّق من معرّف الموارد المنتظم (URI) لإعادة التوجيه. على سبيل المثال:
https://www.example.com/auth-receiver
الاختبار
بعد اتّباع التعليمات الواردة في عملية الإعداد:
- إغلاق جميع نوافذ التصفّح المتخفي الحالية في Chrome وفتح نافذة تصفُّح متخفٍ جديدة نافذة. يؤدي هذا الإجراء إلى محو أي محتوى مخزَّن مؤقتًا أو أي ملفات تعريف ارتباط.
- حمِّل صفحة تسجيل دخول المستخدم وحاول تسجيل الدخول.
اتّبِع التعليمات الواردة في هذه الأقسام من هذا الدليل لتحديد وإصلاح المشاكل المعروفة:
ابحث عن أي أخطاء أو تحذيرات في وحدة التحكّم متعلّقة بتسجيل الدخول إلى Google. المكتبة.
كرر هذه العملية حتى لا تحدث أي أخطاء وستتمكن من تسجيل الدخول بنجاح. يمكنك التحقُّق من تسجيل الدخول بنجاح من خلال التأكيد. تعرض
BasicProfile.getEmail()
عنوان بريدك الإلكتروني تاريخGoogleUser.isSignedIn()
هوTrue
.
تحديد طلب مكتبة "تسجيل الدخول بحساب Google"
تحقَّق من تطبيق التغييرات على permissions-policy وسياسة أمان المحتوى. عن طريق فحص طلب مكتبة منصة "تسجيل الدخول بحساب Google". ولإجراء ذلك، حدِّد موقع الطلب باستخدام اسم المكتبة وأصلها:
- في متصفّح Chrome، افتح لوحة الشبكة في "أدوات مطوري البرامج" وأعِد تحميل الصفحة.
- استخدام القيم في عمودَي النطاق والاسم لتحديد موقع المكتبة
الطلب:
- النطاق هو
apis.google.com
و - الاسم هو
api.js
أوclient.js
أوplatform.js
. المحدد تعتمد قيمة الاسم على حزمة المكتبة التي يطلبها المستند.
- النطاق هو
على سبيل المثال، يمكنك الفلترة حسب apis.google.com
في عمود النطاق.
platform.js
في عمود الاسم.
الاطّلاع على سياسة أذونات إطار iframe
قد يستخدم موقعك الإلكتروني مكتبة منصة "تسجيل الدخول بحساب Google" من مصدر خارجي. iframe. في هذه الحالة، يجب تحديث التطبيق.
بعد اتّباع خطوات تحديد مكان طلب مكتبة "تسجيل الدخول بحساب Google"
يمكنك اختيار طلب مكتبة "تسجيل الدخول بحساب Google" في "أدوات مطوّري البرامج"
لوحة الشبكة وحدِّد مكان عنوان Sec-Fetch-Site
في
قسم طلب العناوين في علامة التبويب العناوين إذا كانت قيمة العنوان
:
same-site
أوsame-origin
، بالتالي لا تنطبق سياسات الوصول من نطاقات أخرى ولا الحاجة إلى التغييرات.- قد يكون من الضروري إجراء تغييرات في
cross-origin
عند استخدام إطار iframe.
للتأكّد من توفّر إطار iframe:
- اختيار لوحة العناصر (Elements) في "أدوات مطوري البرامج في Chrome"
- يمكنك استخدام Ctrl-F للبحث عن إطار iframe في المستند.
في حال العثور على إطار iframe، افحص المستند للتحقق من وجود اتصالات مع gapi.auth2
الدوال أو script src
التي تحمِّل مكتبة "تسجيل الدخول بحساب Google"
داخل iframe. في هذه الحالة:
- أضِف سياسة أذونات
allow="identity-credentials-get"
إلى إطار iframe الرئيسي.
كرر هذه العملية لكل إطار iframe في المستند. يمكن أن تتداخل إطارات iframe، بحيث تأكد من إضافة أمر Allow إلى جميع إطارات iframe الرئيسية المحيطة.
الاطّلاع على سياسة أمان المحتوى
إذا كان موقعك الإلكتروني يستخدم "سياسة أمان المحتوى"، قد تحتاج إلى تعديل سياسة أمان المحتوى الخاصة بك لتصبح تتيح استخدام مكتبة "تسجيل الدخول بحساب Google".
بعد اتّباع خطوات تحديد مكان طلب مكتبة "تسجيل الدخول بحساب Google"
يمكنك اختيار طلب مكتبة "تسجيل الدخول بحساب Google" في "أدوات مطوّري البرامج"
لوحة الشبكة وحدِّد مكان عنوان Content-Security-Policy
في
قسم رؤوس الردود في علامة التبويب العناوين.
وفي حال عدم العثور على العنوان، ما مِن حاجة إلى إجراء أي تغييرات. خلاف ذلك، تحقق مما إذا كان أي من يتم تحديد توجيهات CSP هذه في عنوان CSP ويتم تعديلها من خلال:
جارٍ إضافة
https://apis.google.com/js/
وhttps://accounts.google.com/gsi/
، وhttps://acounts.google.com/o/fedcm/
إلى أيconnect-src
، أوdefault-src
أوframe-src
.جارٍ الإضافة إلى
https://apis.google.com/js/bundle-name.js
إلىscript-src
التوجيه. استبدِلbundle-name.js
إما بـapi.js
أوclient.js
أوplatform.js
استنادًا إلى طلبات حزمة المستندات التي تطلبها المكتبة.
التحقّق من التغييرات على طلبات المستخدمين
هناك بعض الاختلافات في سلوك طلبات المستخدمين، يضيف FedCM مربّع حوار مشروط يعرضها المتصفّح ويعدّل متطلبات تفعيل المستخدم.
مربّع حوار مشروط
افحص تصميم موقعك الإلكتروني للتأكد من إمكانية تعرض المحتوى الأساسي أن يتم تركيبها بشكل آمن وحجبها مؤقتًا من خلال مربع الحوار المشروط في المتصفح. إذا كان هذا ليس الأمر كذلك، فقد تحتاج إلى تعديل تخطيط أو موضع بعض العناصر في موقعك الإلكتروني
تفعيل المستخدم
يتضمن FedCM متطلبات تفعيل المستخدم المعدَّلة. سيؤدي الضغط على زر ما أو النقر على رابط هي أمثلة على إيماءات المستخدمين التي تسمح بمصادر تابعة لجهات خارجية لإجراء طلبات الشبكة أو لتخزين البيانات. باستخدام FedCM، يطالب المتصفح موافقة المستخدم في الحالات التالية:
- تسجيل دخول المستخدم لأول مرة إلى تطبيق ويب باستخدام مثيل متصفح جديد، أو
- تسمّى
GoogleAuth.signIn
.
أما اليوم، إذا سجَّل المستخدم الدخول إلى موقعك الإلكتروني من قبل، يمكنك الحصول على
معلومات تسجيل دخول المستخدم عند إعداد مكتبة تسجيل الدخول بحساب Google
باستخدام gapi.auth2.init
، بدون أي تفاعلات إضافية من المستخدم.
بسبب الإيقاف النهائي لملفات تعريف الارتباط التابعة لجهات خارجية، لم يعُد هذا ممكنًا ما لم أن يكون المستخدم قد خضع لأول مرة لعملية تسجيل الدخول إلى FedCM مرة واحدة على الأقل.
من خلال الاشتراك في FedCM والاتصال برقم GoogleAuth.signIn
، سيتم إجراء ذلك في المرة القادمة نفسها.
يزور مستخدم موقعك الإلكتروني، وبإمكان "gapi.auth2.init
" الحصول على معلومات تسجيل دخول المستخدم
المعلومات أثناء الإعداد دون تفاعل المستخدم.
حالات الاستخدام الشائعة
تتضمن مستندات المطوِّرين الخاصة بمكتبة "تسجيل الدخول بحساب Google" أدلة ورموزًا. نماذج لحالات الاستخدام الشائعة. يناقش هذا القسم كيفية تأثير FedCM في السلوك.
دمج حساب "تسجيل الدخول بحساب Google" في تطبيق الويب
في هذا demo، يعرض العنصر
<div>
وفئة الزرّ للمستخدمين الذين سجّلوا دخولهم، يعرض حدث الصفحةonload
المستخدم بيانات الاعتماد. يجب تفاعل المستخدم لتسجيل الدخول وإنشاء حساب جلسة المراجعة.يتم إعداد المكتبة من خلال فئة
g-signin2
التي تستدعيgapi.load
وgapi.auth2.init
إيماءة مستخدم، حدث
onclick
لعنصر<div>
، تستدعيauth2.signIn
أثناء تسجيل الدخول أوauth2.signOut
عند تسجيل الخروج.إنشاء زر مخصّص لتسجيل الدخول بحساب Google
في العرض التوضيحي الأول، يتم استخدام السمات المخصّصة للتحكّم في مظهر زر تسجيل الدخول وحدث
onload
في الصفحة بيانات اعتماد المستخدم. يجب أن يتفاعل المستخدم لتسجيل الدخول لإنشاء جلسة جديدة.يتم إعداد المكتبة من خلال حدث
onload
platform.js
ويتم عرض الزر بواسطةgapi.signin2.render
.يتم الاتصال برقم
auth2.signIn
من خلال إيماءة مستخدم تؤدي إلى الضغط على زر تسجيل الدخول.في العرض التوضيحي الثاني، يكون العنصر
<div>
وأنماط CSS ورسمًا مخصّصًا يُستخدم للتحكّم في مظهر زر تسجيل الدخول. تفاعل المستخدم هو المطلوبة لتسجيل الدخول وإنشاء جلسة جديدة.يتم إعداد المكتبة عند تحميل المستند باستخدام دالة بدء الذي يستدعي
gapi.load
وgapi.auth2.init
،gapi.auth2.attachClickHandler
إيماءة مستخدم، حدث
onclick
لعنصر<div>
، تستدعيauth2.signIn
استخدامauth2.attachClickHandler
أثناء تسجيل الدخول أوauth2.signOut
على تسجيل الخروج.-
في هذا demo، يتم استخدام الضغط على زر لتسجيل دخول المستخدم وتسجيل الخروج. يجب تفاعل المستخدم لتسجيل الدخول وإنشاء جلسة جديدة.
يتم إعداد المكتبة من خلال الاتصال مباشرةً بـ
gapi.load
،gapi.auth2.init
، وgapi.auth2.attachClickHandler()
بعد ذلك تم تحميلplatform.js
باستخدامscript src
.إيماءة مستخدم، حدث
onclick
لعنصر<div>
، تستدعيauth2.signIn
استخدامauth2.attachClickHandler
أثناء تسجيل الدخول أوauth2.signOut
على تسجيل الخروج. -
في هذا demo، يتم الضغط على زرّ لطلب OAuth 2.0 إضافي. النطاقات، والحصول على رمز دخول جديد، وبالنسبة إلى المستخدمين الذين سجلوا الدخول بالفعل، في الصفحة
onload
يعرض بيانات اعتماد المستخدم. يجب تفاعل المستخدم لتسجيل الدخول وإنشاء جلسة جديدة.يتم إعداد المكتبة من خلال حدث
onload
مكتبةplatform.js
من خلال مكالمة إلىgapi.signin2.render
.تؤدي إيماءة المستخدم بالنقر على عنصر
<button>
إلى تقديم طلب نطاقات OAuth 2.0 الإضافية باستخدامgoogleUser.grant
أوauth2.signOut
عند تسجيل الخروج. دمج خدمة "تسجيل الدخول بحساب Google" باستخدام أدوات معالجة الأحداث
في هذا demo، بالنسبة إلى المستخدمين الذين سجّلوا الدخول من قبل، إنّ حدث الصفحة
onload
بيانات اعتماد المستخدم. يجب أن يتفاعل المستخدم لتسجيل الدخول لإنشاء جلسة جديدة.يتم إعداد المكتبة عند تحميل المستند باستخدام دالة بدء الذي يستدعي
gapi.load
وgapi.auth2.init
،gapi.auth2.attachClickHandler
بعد ذلك،auth2.isSignedIn.listen
تُستخدَمauth2.currentUser.listen
لإعداد إشعار بالتغييرات على حالة الجلسة. أخيرًا، يتم استدعاءauth2.SignIn
لعرض بيانات الاعتماد المستخدمين المسجّلين الدخول.إيماءة مستخدم، حدث
onclick
لعنصر<div>
، تستدعيauth2.signIn
استخدامauth2.attachClickHandler
أثناء تسجيل الدخول أوauth2.signOut
على تسجيل الخروج.تسجيل الدخول باستخدام حساب Google للتطبيقات من جهة الخادم
في هذا demo، يتم استخدام إيماءة مستخدم لطلب رمز مصادقة OAuth 2.0. ويُجري استدعاء JavaScript استدعاء AJAX لإرسال الرد إلى الخلفية الخادم للتحقق.
تم إعداد المكتبة باستخدام حدث
onload
لـplatform.js
التي تستخدم دالة بدء لاستدعاءgapi.load
gapi.auth2.init
تؤدي إيماءة المستخدم بالنقر على عنصر
<button>
إلى تقديم طلب رمز تفويض من خلال طلب الرقمauth2.grantOfflineAccess
.الدخول المُوحَّد (SSO) من عدّة منصات
يتطلب FedCM الحصول على موافقة لكل نسخة افتراضية من المتصفِّح، حتى إذا كان مستخدمو Android تكون قد سجّلت الدخول إليها بالفعل، يلزم الحصول على موافقة لمرة واحدة.
إدارة الفترة الانتقالية
خلال الفترة الانتقالية، يمكن أن تستخدم نسبة مئوية من عمليات تسجيل دخول المستخدمين بروتوكول FedCM قد تتفاوت النسبة المئوية الدقيقة وقد تتغير بمرور الوقت. تتحكم Google تلقائيًا عدد طلبات تسجيل الدخول التي تستخدم FedCM، ولكن يمكنك تفعيل أو إيقاف استخدام FedCM خلال الفترة الانتقالية في نهاية الفترة الانتقالية يصبح FedCM إلزاميًا ويتم استخدامه لجميع طلبات تسجيل الدخول.
يؤدي اختيار التفعيل إلى إرسال المستخدم من خلال مسار تسجيل الدخول إلى FedCM، مع اختيار
إلى أن يتم إيقاف إرسال المحتوى إلى المستخدمين من خلال إجراءات تسجيل الدخول الحالية. هذا السلوك هو
التحكم باستخدام المعلمة use_fedcm
.
اشتراك
قد يكون من المفيد التحكم في ما إذا كانت كل محاولات تسجيل الدخول أو بعضها
الموقع الإلكتروني استخدام واجهات برمجة تطبيقات FedCM لإجراء ذلك، يجب ضبط السمة use_fedcm
على true
عند الإعداد.
مكتبة المنصة. وفي هذه الحالة، يستخدم طلب تسجيل دخول المستخدم واجهات برمجة تطبيقات FedCM.
إيقاف
أثناء الفترة الانتقالية، يتم عرض نسبة مئوية من محاولات تسجيل دخول المستخدم إلى موقعك الإلكتروني.
سيتم استخدام واجهات برمجة تطبيقات FedCM بشكل تلقائي إذا احتجت إلى مزيد من الوقت لإجراء تغييرات على
يمكنك إيقاف استخدام واجهات برمجة تطبيقات FedCM مؤقتًا. للقيام بذلك، قم بتعيين
من use_fedcm
إلى false
عند إعداد مكتبة المنصة تسجيل دخول المستخدم
لن يستخدم الطلب واجهات برمجة تطبيقات FedCM في هذه الحالة.
بعد حدوث الاعتماد الإلزامي، يتم تجاهل أي إعدادات "use_fedcm
" من خلال
مكتبة منصة تسجيل الدخول بحساب Google
الحصول على مساعدة
ابحث في StackOverflow أو اطرح أسئلة عنه باستخدام العلامة google-signin.