للبدء، قم بتهيئة تسجيل الدخول إلى Google وفقًا لهذه التعليمات:
ثم اتبع الخطوات التالية:
-
في لوحة تحكم Google الخاصة بتكامل OAuth الخاص بك، انتقل إلى “APIs & Services” (واجهات برمجة التطبيقات والخدمات)، وأضف “Admin SDK” (حزمة تطوير برامج المسؤول)
→ → -
انتقل إلى “IAM & Admin” (إدارة الهوية والوصول) → “Service Accounts” (حسابات الخدمة) → “Create Service Account” (إنشاء حساب خدمة) وقم بإعداد حساب. الخطوتان الاختياريتان غير مطلوبتين - تخطَّهما.
-
في قائمة حسابات الخدمة، انقر على الحساب الذي تم إنشاؤه حديثًا، وسجل “unique id” (المعرف الفريد) لوقت لاحق، ثم انتقل إلى علامة التبويب “Keys” (المفاتيح). قم بإنشاء مفتاح جديد بالتنسيق “JSON” واحفظ الملف لوقت لاحق.
-
انتقل إلى admin.google.com، وقم بزيارة قسم “security” (الأمان). افتح “API Controls” (عناصر تحكم واجهة برمجة التطبيقات)، ثم “Manage Third Party App Access” (إدارة الوصول إلى تطبيقات الطرف الثالث). ثم “Add App” (إضافة تطبيق)، ثم “OAuth App Name or Client ID” (اسم تطبيق OAuth أو معرّف العميل). أدخل معرّف العميل لتطبيق OAuth الخاص بك، ثم حدده من القائمة. اتبع الخطوات، وتأكد من تعيين التطبيق على أنه “Trusted” (موثوق به). يجب أن يظهر بعد ذلك في القائمة:
-
ارجع إلى قسم “API Controls” (عناصر تحكم واجهة برمجة التطبيقات)، وقم بالتمرير لأسفل، واختر “Manage Domain Wide Delegation” (إدارة تفويض النطاق بالكامل). اختر “Add New” (إضافة جديد)، وأدخل معرّف العميل لحساب الخدمة الذي أنشأته سابقًا. ضمن النطاقات (scopes)، الصق القيمة
https://www.googleapis.com/auth/admin.directory.group.readonly -
في لوحة تحكم مسؤول Discourse، انتقل إلى Admin (مسؤول) > Config (تهيئة) > Login and Authentication (تسجيل الدخول والمصادقة) > Authenticators (المصادقات) وابحث عن ‘google oauth2 hd’. قم بتهيئة الإعدادات التالية:
google oauth2 hd: اسم النطاق الخاص بـ Google Workspace الخاص بك
google_oauth2_hd_groups_service_account_json: الصق محتويات ملف مفتاح حساب الخدمة الذي أنشأته سابقًا
google_oauth2_hd_groups_service_account_admin_email: أدخل عنوان البريد الإلكتروني لأي حساب مسؤول في Google Workspace. سيتم استخدام هذا الهوية بواسطة حساب الخدمة عند جلب معلومات مجموعة Google
google oauth2 hd groups: ممكّن (enabled)
في المرة التالية التي يقوم فيها المستخدم بتسجيل الدخول، سيقوم Discourse بجلب وتخزين معلومات مجموعة Google في الخلفية.
لربط مجموعة Google بمجموعة Discourse، قم بزيارة تهيئة المجموعة في Discourse، وانتقل إلى قسم Manage (إدارة) → Membership (العضوية). ضمن “Automatic” (تلقائي)، سترى قائمة منسدلة جديدة تتيح لك ربط أي عدد من مجموعات Google بمجموعة Discourse:
يجب أن تسري التغييرات على هذا الإعداد على الفور. ستسري التغييرات على عضوية المجموعة في Google عند تسجيل دخول المستخدم التالي.
شكرًا جزيلاً لـ @angus على عمله على هذه الميزة. نأمل في توسيع نظام مزامنة المجموعات هذا ليشمل طرق تسجيل دخول أخرى في المستقبل القريب.





