الإعداد

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

الحصول على معرِّف عميل Google API

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

  1. افتح صفحة بيانات الاعتماد في وحدة تحكُّم Google APIs.
  2. أنشئ مشروعًا على Google APIs أو اختَره. إذا كان لديك مشروع لزر "تسجيل الدخول باستخدام حساب Google" أو ميزة "نقرة واحدة"، استخدِم المشروع الحالي ومعرّف العميل على الويب. عند إنشاء تطبيقات الإنتاج، قد تحتاج إلى عدّة مشاريع، ويمكنك تكرار الخطوات المتبقية من هذا القسم لكل مشروع تديره.
  3. انقر على إنشاء بيانات الاعتماد > معرِّف عميل OAuth، وبالنسبة إلى نوع التطبيق، اختَر تطبيق الويب لإنشاء معرِّف عميل جديد. لاستخدام معرِّف عميل حالي، اختَر أحد أنواع تطبيق الويب.
  4. أضِف معرّف الموارد المنتظم (URI) الخاص بموقعك الإلكتروني إلى مصادر JavaScript المسموح بها. لا يتضمن عنوان URI سوى المخطط واسم المضيف المؤهل بالكامل. مثلاً، https://www.example.com.

  5. اختياريًا، يمكن عرض بيانات الاعتماد باستخدام إعادة توجيه إلى نقطة نهاية تستضيفها بدلاً من معاودة اتصال JavaScript. في هذه الحالة، أضِف معرّفات الموارد المنتظمة (URI) لإعادة التوجيه إلى معرّفات الموارد المنتظمة (URI) المعتمَدة لإعادة التوجيه. تشتمل معرّفات الموارد المنتظمة (URI) لإعادة التوجيه على المخطط واسم المضيف المؤهل بالكامل والمسار، ويجب أن تتوافق مع قواعد التحقق من معرّف الموارد المنتظم (URI) لإعادة التوجيه. مثلاً، https://www.example.com/auth-receiver.

تشتمل كل من مصادقة "تسجيل الدخول باستخدام حساب Google" ومصادقة "نقرة واحدة" على شاشة موافقة تخبر المستخدمين بالتطبيق الذي يطلب الوصول إلى بياناتهم، ونوع البيانات التي يطلبونها، والبنود السارية.

  1. افتح صفحة شاشة موافقة OAuth في قسم "واجهات برمجة التطبيقات والخدمات" (APIs & Services) في Google Developer Console.
  2. اختَر المشروع الذي أنشأته للتو، إذا طُلب منك ذلك.
  3. في صفحة "شاشة موافقة OAuth"، املأ النموذج وانقر على الزر "حفظ".

    1. اسم التطبيق: اسم التطبيق الذي يطلب الموافقة يجب أن يعبّر الاسم عن تطبيقك بدقة وأن يكون متسقًا مع اسم التطبيق الذي يظهر للمستخدمين في أي مكان آخر.

    2. شعار التطبيق: تظهر هذه الصورة على شاشة طلب الموافقة لمساعدة المستخدمين في التعرّف على تطبيقك. ويظهر الشعار في شاشة "تسجيل الدخول باستخدام حساب Google" وفي إعدادات الحساب، ولا يظهر في مربّع حوار "نقرة واحدة".

    3. البريد الإلكتروني للدعم: يظهر على شاشة الموافقة على دعم المستخدم ولمشرفي G Suite لتقييم وصول المستخدمين إلى تطبيقك. يظهر عنوان البريد الإلكتروني هذا للمستخدمين في شاشة موافقة "تسجيل الدخول باستخدام حساب Google" عندما ينقر المستخدم على اسم التطبيق.

    4. نطاقات Google APIs: تتيح النطاقات لتطبيقك الوصول إلى بيانات المستخدم الخاصة. بالنسبة إلى المصادقة، يكفي النطاق التلقائي (البريد الإلكتروني والملف الشخصي وOpenid) ولا تحتاج إلى إضافة أيّ نطاقات حسّاسة. من أفضل الممارسات عمومًا طلب النطاقات بشكل متزايد، في الوقت الذي يكون فيه الوصول مطلوبًا، بدلاً من مقدمًا. مزيد من المعلومات

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

    6. رابط الصفحة الرئيسية للتطبيق: يظهر في شاشة موافقة "تسجيل الدخول باستخدام حساب Google" ومعلومات إخلاء المسؤولية المتوافقة مع اللائحة العامة لحماية البيانات بنقرة واحدة ضمن زر "متابعة باسم". يجب استضافته على "نطاق معتمد".

    7. رابط سياسة خصوصية التطبيق: يظهر عند شاشة موافقة "تسجيل الدخول باستخدام حساب Google" ومعلومات إخلاء المسؤولية المتوافقة مع اللائحة العامة لحماية البيانات بنقرة واحدة ضمن الزر "متابعة باسم". يجب استضافته على "نطاق معتمد".

    8. رابط "بنود خدمة التطبيق" (اختياري): يظهر في شاشة "تسجيل الدخول باستخدام حساب موافقة Google" ومعلومات إخلاء المسؤولية المتوافقة مع اللائحة العامة لحماية البيانات بنقرة واحدة ضمن الزر "متابعة باسم". يجب استضافته على "نطاق معتمد".

  4. تحقَّق من "حالة التحقّق" إذا كان طلبك يحتاج إلى التحقّق، ثمّ انقر على الزر "إرسال لطلب التحقّق" لإرسال طلبك. راجِع متطلبات التحقّق من بروتوكول OAuth للحصول على التفاصيل.

عرض إعدادات OAuth أثناء تسجيل الدخول

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

إعدادات موافقة OAuth كما يعرضها Chrome One Tap باستخدام FedCM

يتم عرض النطاق المفوَّض ذي المستوى الأعلى أثناء موافقة المستخدم في Chrome.

ميزة "نقرة واحدة" بدون "المراسلة عبر السحابة الإلكترونية من Firebase"

إعدادات موافقة OAuth كما تظهر بواسطة ميزة "نقرة واحدة"

يتم عرض اسم التطبيق عندما يوافق المستخدم على ذلك.

الشكل 1. إعدادات موافقة OAuth المعروضة من خلال ميزة "نقرة واحدة" في Chrome

سياسة أمان المحتوى

على الرغم من أنّ سياسة أمان المحتوى خطوة اختيارية، إلا أنّنا ننصح باستخدامها لتأمين تطبيقك ومنع هجمات البرمجة النصية على مستوى المواقع الإلكترونية (XSS). للاطّلاع على مزيد من المعلومات، راجِع مقدمة عن CSP وCSP وXSS.

قد تتضمّن سياسة أمان المحتوى توجيهًا واحدًا أو أكثر، مثل connect-src أو frame-src أو script-src أو style-src أو default-src.

إذا كانت سياسة أمان المحتوى (CSP) تتضمّن ما يلي:

  • connect-src، يمكنك إضافة https://accounts.google.com/gsi/ للسماح لصفحة بتحميل عنوان URL الرئيسي لنقاط النهاية من جهة الخادم في "خدمات Google Identity".
  • frame-src، يمكنك إضافة https://accounts.google.com/gsi/ للسماح بعنوان URL الرئيسي لإطارات iframe للزر "نقرة واحدة وتسجيل الدخول باستخدام حساب Google".
  • script-src، يمكنك إضافة https://accounts.google.com/gsi/client للسماح بعنوان URL لمكتبة JavaScript لخدمات Google Identity.
  • style-src، يمكنك إضافة https://accounts.google.com/gsi/style للسماح بعنوان URL لأوراق أنماط خدمات Google Identity.
  • يكون توجيه default-src، في حال استخدامه، إجراءً احتياطيًا في حال عدم تحديد أي من التوجيهات السابقة (connect-src أو frame-src أو script-src أو style-src)، يمكنك إضافة https://accounts.google.com/gsi/ للسماح لإحدى الصفحات بتحميل عنوان URL الرئيسي لنقاط النهاية من جهة الخادم في "خدمات Google Identity".

تجنَّب إدراج عناوين URL فردية خاصة بنظام المعلومات الجغرافية عند استخدام connect-src. يساعد ذلك في تقليل الإخفاقات عند تحديث GIS. على سبيل المثال، بدلاً من إضافة https://accounts.google.com/gsi/status، استخدِم عنوان URL الرئيسي الخاص بنظام المعلومات الجغرافية https://accounts.google.com/gsi/.

يتيح نموذج عنوان الاستجابة هذا لـ "خدمات Google Identity" تحميل وتنفيذ الإجراءات بنجاح:

Content-Security-Policy-Report-Only: script-src
https://accounts.google.com/gsi/client; frame-src
https://accounts.google.com/gsi/; connect-src https://accounts.google.com/gsi/;

سياسة إتاحة المحتوى من مصادر متعددة

قد يتطلب زر "تسجيل الدخول باستخدام حساب Google" و"نقرة Google One" إجراء تغييرات على Cross-Origin-Opener-Policy (COOP) لإنشاء النوافذ المنبثقة بنجاح.

عند تفعيل FedCM، يعرض المتصفح النوافذ المنبثقة مباشرةً ولا تكون هناك حاجة إلى إجراء أي تغييرات.

ومع ذلك، في حال إيقاف خدمة FedCM، يمكنك ضبط عنوان COOP:

  • إلى same-origin و
  • تشمل same-origin-allow-popups.

يؤدي عدم ضبط العنوان المناسب إلى تعطّل الاتصال بين النوافذ، ما يؤدي إلى نافذة منبثقة فارغة أو حدوث أخطاء مماثلة.