الإعداد

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

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

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

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

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

تتضمّن كل من ميزة "تسجيل الدخول باستخدام حساب Google" ومصادقة One Tap شاشة موافقة تُعلم المستخدمين بالتطبيق الذي يطلب الوصول إلى بياناتهم ونوع البيانات التي يُطلب منهم تقديمها والأحكام التي تنطبق.

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

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

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

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

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

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

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

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

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

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

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

النقرة الواحدة باستخدام FedCM

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

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

ميزة "نقرة واحدة" بدون FedCM

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

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

يتيح مثال عنوان الاستجابة هذا لخدمات Google Identity Services التحميل والتنفيذ بنجاح:

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" وميزة "نقرة واحدة" إجراء تغييرات على Cross-Origin-Opener-Policy (COOP) لإنشاء نوافذ منبثقة بنجاح.

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

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

  • إلى same-origin و
  • أن تتضمّن same-origin-allow-popups

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