قبل إضافة ميزة "تسجيل الدخول باستخدام حساب Google" أو "نقرة واحدة" أو "تسجيل الدخول تلقائيًا" إلى موقعك الإلكتروني، عليك ضبط إعدادات OAuth وضبط سياسة أمان المحتوى على موقعك الإلكتروني اختياريًا.
الحصول على معرِّف عميل Google API
لتفعيل ميزة "تسجيل الدخول باستخدام حساب Google" على موقعك الإلكتروني، يجب أولاً إعداد معرِّف عميل لواجهة Google API. للقيام بذلك، أكمل الخطوات التالية:
- افتح صفحة بيانات الاعتماد في وحدة تحكم Google APIs.
- أنشئ مشروعًا على Google APIs أو اختَره. إذا كان لديك مشروع لزر "تسجيل الدخول باستخدام حساب Google" أو "نقرة واحدة من Google"، يمكنك استخدام المشروع الحالي ومعرِّف عميل الويب. عند إنشاء تطبيقات إنتاج، قد يكون من الضروري عدة مشاريع، وكرِّر الخطوات المتبقية من هذا القسم لكل مشروع تديره.
- انقر على إنشاء بيانات اعتماد > معرِّف عميل OAuth وضمن نوع التطبيق، اختَر تطبيق الويب لإنشاء معرِّف عميل جديد. لاستخدام معرّف عميل حالي، اختَر أحد أنواع تطبيق الويب.
أضِف معرّف الموارد المنتظم (URI) لموقعك الإلكتروني إلى مصادر JavaScript المسموح بها. لا يتضمن عنوان URL سوى المخطط واسم المضيف المؤهل بالكامل. مثلاً،
https://www.example.com
.اختياريًا، قد يتم عرض بيانات الاعتماد باستخدام إعادة توجيه إلى نقطة نهاية تستضيفها بدلاً من معاودة الاتصال بلغة JavaScript. في هذه الحالة، أضِف معرّفات الموارد المنتظمة (URI) لإعادة التوجيه إلى معرّفات الموارد المنتظمة (URI) المعتمَدة لإعادة التوجيه. تتضمن معرّفات الموارد المنتظمة (URI) لإعادة التوجيه المخطط واسم المضيف المؤهل بالكامل والمسار، ويجب أن تتوافق مع قواعد التحقق من عنوان URI لإعادة التوجيه. مثلاً،
https://www.example.com/auth-receiver
.
ضبط شاشة موافقة OAuth
يتضمّن كل من ميزة "تسجيل الدخول باستخدام حساب Google" والمصادقة بنقرة واحدة شاشة موافقة تخبر المستخدمين بالتطبيق الذي يطلب الوصول إلى بياناتهم، ونوع البيانات التي تم طلبهم منها، والبنود التي تنطبق.
- افتح صفحة شاشة موافقة OAuth في قسم "واجهات برمجة التطبيقات والخدمات" في Google Play Console.
- اختَر المشروع الذي أنشأته للتو، إذا طُلب منك ذلك.
في صفحة "شاشة موافقة OAuth"، املأ النموذج وانقر على زر "حفظ".
اسم التطبيق: اسم التطبيق الذي يطلب الموافقة يجب أن يعكس الاسم تطبيقك بدقة وأن يكون متسقًا مع اسم التطبيق الذي يراه المستخدمون في أي مكان آخر.
شعار التطبيق: تظهر هذه الصورة على شاشة طلب الموافقة لمساعدة المستخدمين في التعرّف على تطبيقك. ويظهر الشعار في شاشة موافقة "تسجيل الدخول باستخدام حساب Google" وفي إعدادات الحساب، ولكنّه لا يظهر في مربّع الحوار "نقرة واحدة".
البريد الإلكتروني للدعم:يظهر على شاشة الموافقة لدعم المستخدمين ومشرفي G Suite لتقييم وصول المستخدمين إلى تطبيقك. يظهر عنوان البريد الإلكتروني هذا للمستخدمين في شاشة موافقة "تسجيل الدخول باستخدام حساب Google" عندما ينقر المستخدم على اسم التطبيق.
نطاقات Google APIs: تسمح النطاقات لتطبيقك بالوصول إلى البيانات الخاصة للمستخدِم. لإجراء المصادقة، يكفي النطاق التلقائي (البريد الإلكتروني والملف الشخصي وopenid)، ولن تحتاج إلى إضافة أي نطاقات حسّاسة. من أفضل الممارسات عمومًا طلب النطاقات بشكل متزايد، في الوقت المطلوب للوصول إليه، بدلاً من طلبه مقدمًا. مزيد من المعلومات
النطاقات المسموح بها: لحمايتك أنت والمستخدمين، لا تسمح Google إلا للتطبيقات التي تصادق باستخدام OAuth باستخدام "النطاقات المُعتمَدة". يجب استضافة روابط تطبيقاتك على "النطاقات المسموح بها". مزيد من المعلومات
رابط الصفحة الرئيسية للتطبيق: يظهر على شاشة طلب الموافقة الخاصة بميزة "تسجيل الدخول باستخدام حساب Google" ومعلومات إخلاء المسؤولية المتوافقة مع اللائحة العامة لحماية البيانات (GDPR) بنقرة واحدة ضمن الزر "متابعة باسم". يجب استضافة هذا النوع من المحتوى على نطاق معتمد.
رابط سياسة خصوصية التطبيق: يظهر عند شاشة موافقة "تسجيل الدخول باستخدام حساب Google" ومعلومات إخلاء المسؤولية المتوافقة مع اللائحة العامة لحماية البيانات بنقرة واحدة" تحت الزر "متابعة باسم". يجب استضافة هذا النوع من المحتوى على نطاق معتمد.
رابط "بنود خدمة التطبيق" (اختياري): يظهر عند النقر على شاشة "تسجيل الدخول باستخدام حساب Google" ومعلومات إخلاء المسؤولية المتوافقة مع اللائحة العامة لحماية البيانات بنقرة واحدة ضمن الزرّ "متابعة باسم". يجب استضافة هذا النوع من المحتوى على نطاق معتمد.
تحقق من "حالة التحقق" إذا كان تطبيقك بحاجة إلى التحقق، فانقر على الزر "إرسال للتحقق" لإرسال طلب التحقق. يمكنك الرجوع إلى متطلبات التحقُّق من OAuth للحصول على التفاصيل.
عرض إعدادات OAuth أثناء تسجيل الدخول
نقرة واحدة
يتم عرض اسم التطبيق أثناء موافقة المستخدم.
ميزة "نقرة واحدة" باستخدام FedCM
يتم عرض النطاق المفوَّض ذي المستوى الأعلى أثناء موافقة المستخدم في Chrome.
الشكل 1. تعرض ميزة "نقرة واحدة" في Chrome إعدادات طلب الموافقة المتعلّقة ببروتوكول OAuth.
سياسة أمان المحتوى
ننصح باتّباع سياسة أمان المحتوى لتأمين تطبيقك ومنع هجمات النصوص البرمجية على المواقع الإلكترونية (XSS)، علمًا بأنّ سياسة أمان المحتوى اختيارية. لمعرفة المزيد من المعلومات، يُرجى الاطّلاع على مقدمة عن سياسة أمان المحتوى (CSP) وCSP وXSS.
قد تتضمّن سياسة أمان المحتوى توجيهًا واحدًا أو أكثر، مثل
connect-src
أو frame-src
أو script-src
أو style-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.
تجنَّب إدراج عناوين URL فردية لنظام المعلومات الجغرافية عند استخدام connect-src
. يساعد ذلك في تقليل حالات
الفشل عند تحديث GIS. على سبيل المثال، بدلاً من إضافة https://accounts.google.com/gsi/status
، استخدِم عنوان URL الرئيسي GIS 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
.
يؤدي عدم ضبط العنوان المناسب إلى تعطُّل الاتصال بين النوافذ، ما يؤدي إلى نافذة منبثقة فارغة أو حدوث أخطاء مشابهة.