إعداد تسجيل الدخول عبر جوجل لـ Discourse

:bookmark: يشرح هذا الدليل كيفية إعداد تكامل تسجيل الدخول عبر جوجل لموقع Discourse الخاص بك عن طريق تكوين بيانات اعتماد OAuth2 في وحدة تحكم Google Cloud.

:person_raising_hand: مستوى المستخدم المطلوب: مسؤول

نظرة عامة

يتيح تسجيل الدخول عبر جوجل للمستخدمين تسجيل الدخول إلى موقع Discourse الخاص بك باستخدام حساباتهم على جوجل. سيرشدك هذا الدليل خلال:

  1. إنشاء مشروع على Google Cloud
  2. إعداد شاشة موافقة OAuth
  3. تكوين بيانات الاعتماد
  4. تمكين تسجيل الدخول عبر جوجل في Discourse

إنشاء مشروع على Google Cloud

  1. انتقل إلى https://console.developers.google.com
  2. انقر فوق زر تحديد المشروع في الجزء العلوي الأيسر
  3. انقر فوق “مشروع جديد” (New Project)

  1. أدخل اسمًا للمشروع وموقعًا اختياريًا.
  2. انقر فوق “إنشاء” (Create)

:information_source: إذا رأيت أي أخطاء بعد إنشاء المشروع، قم بتحديث الصفحة باستخدام Ctrl+F5.

تكوين شاشة موافقة OAuth

  1. ارجع إلى https://console.developers.google.com وحدد مشروعك الجديد إذا لم يكن محددًا بالفعل.
  2. انتقل إلى “شاشة موافقة OAuth” (OAuth consent screen) في اللوحة اليسرى. يمكنك أيضًا استخدام قائمة Google Cloud في الجزء العلوي الأيسر لتحديد “واجهات برمجة التطبيقات والخدمات” (APIs & Services) → “شاشة موافقة OAuth” (Oauth consent screen).

  1. انقر فوق “بدء” (Get Started)
  2. ضمن “معلومات التطبيق” (App Information)، أدخل اسمًا للتطبيق وحدد عنوان بريد إلكتروني لدعم المستخدم.

  1. حدد الجمهور “خارجي” (External)

  1. بعد ذلك، أدخل عنوان بريد إلكتروني للإشعارات.
  2. أخيرًا، اقبل سياسة بيانات المستخدم لواجهات برمجة التطبيقات (API Services: User Data Policy) وانقر فوق “إنشاء” (Create).

إعداد بيانات الاعتماد

  1. انتقل إلى شاشة “واجهات برمجة التطبيقات والخدمات” (APIs & Services) → “بيانات الاعتماد” (Credentials).
  2. انقر فوق “إنشاء بيانات اعتماد” (Create Credentials) وحدد “معرّف عميل OAuth” (OAuth Client ID).

  1. قم بتكوين عميل OAuth:
  • حدد “تطبيق ويب” (Web application) كنوع التطبيق وقم بتسميته.
  • في أصول JavaScript المعتمدة (Authorized JavaScript Origins)، أضف عنوان URL الأساسي لموقعك (بما في ذلك https://).
  • أضف عنوان URL لرد الاتصال الخاص بك ضمن عناوين URI لإعادة التوجيه المعتمدة (Authorized Redirect URIs): https://your-discourse-site.com/auth/google_oauth2/callback
  • انقر فوق “إنشاء” (Create).

انقر على معرّف عميل OAuth 2.0:

انسخ معرّف العميل (ClientID) والسرّ (Client Secret) لإضافتهما إلى مسؤول Discourse الخاص بك:

تكوين إعدادات Discourse

  1. في إعدادات مسؤول Discourse لديك ضمن “تسجيل الدخول والمصادقة” (Login & authentication):
  • قم بتمكين الإعداد enable google oauth2 logins
  • أدخل معرف عميل جوجل الخاص بك google oauth2 client id
  • أدخل سر عميل جوجل الخاص بك google oauth2 client secret

التحقق والنشر

اختبر التكامل عن طريق إضافة مستخدم بعنوان بريد إلكتروني لجوجل وتأكيد أنه يمكنك تسجيل الدخول إلى Discourse باستخدام خيار “تسجيل الدخول باستخدام جوجل” (Log in with Google). إذا تمكنت من تسجيل الدخول، فهذا يعني أن التكوين قد اكتمل! :tada:

:warning: ملاحظة:

في السابق، كانت هناك خطوة أخيرة مطلوبة - وهي تغيير حالة مشروع Google Developer إلى وضع “الإنتاج” (production). لا يبدو أن هذا مطلوبًا بعد الآن. نحن نترك هذه الملاحظات القديمة هنا تحسبًا لأي طارئ.

لجعل التكامل متاحًا للجمهور:

  • قم بتغيير الحالة إلى “قيد الإنتاج” (In production).
  • أكمل عملية التحقق من Google.
  • تحقق من ملكية الموقع عبر Google Search Console.

تكوين إضافي

مطالبة OAuth2 الخاصة بجوجل (Google OAuth2 prompt)

يتحكم الإعداد google oauth2 prompt في سلوك شاشة موافقة جوجل أثناء تسجيل الدخول. الخيارات المتاحة:

  • (فارغ) - سلوك جوجل الافتراضي
  • none - لا يتم عرض شاشة الموافقة أو اختيار الحساب
  • consent - يتم دائمًا عرض شاشة الموافقة
  • select_account - يتم دائمًا مطالبة المستخدم باختيار حساب

تسجيل الدخول عبر Google Workspace (المعروف سابقًا باسم G. Suite، تطبيقات جوجل)

لتقييد تسجيل الدخول على نطاقات Google Workspace محددة:

  1. في مسؤول Discourse -> تسجيل الدخول والمصادقة (Discourse Admin → Login & authentication)، حدد موقع إعداد الموقع google oauth2 hd
  2. أدخل نطاق Google Workspace الخاص بك.

مزامنة مجموعة Google Workspace

يمكنك مزامنة مجموعات Google Workspace تلقائيًا مع Discourse. يتطلب هذا:

  1. تمكين إعداد google oauth2 hd groups
  2. تعيين google oauth2 hd إلى نطاق Workspace الخاص بك
  3. إدخال بريد إلكتروني لمسؤول Workspace في google oauth2 hd groups service account admin email
  4. لصق بيانات اعتماد حساب الخدمة في Google JSON في google oauth2 hd groups service account json

يجب تمكين تفويض على مستوى النطاق لحساب الخدمة ومنحه النطاق https://www.googleapis.com/auth/admin.directory.group.readonly. راجع وثائق جوجل حول التفويض على مستوى النطاق للحصول على تعليمات الإعداد.

استكشاف الأخطاء وإصلاحها

إذا واجهت مشكلات في تسجيل الدخول:

  • تأكد من تكوين HTTPS بشكل صحيح
  • تحقق مرتين من جميع عناوين URI لإعادة التوجيه
  • تأكد من أن شهادة SSL لموقعك صالحة
  • تأكد من تمكين جميع واجهات برمجة تطبيقات Google Cloud المطلوبة
  • قم بتمكين google oauth2 verbose logging للحصول على سجلات مفصلة لطلبات/استجابات OAuth2

الموارد ذات الصلة

165 إعجابًا