تمكين مزامنة المجموعة من Google Workplace

للبدء، قم بتهيئة تسجيل الدخول إلى Google وفقًا لهذه التعليمات:

ثم اتبع الخطوات التالية:

  1. في لوحة تحكم Google الخاصة بتكامل OAuth الخاص بك، انتقل إلى “APIs & Services” (واجهات برمجة التطبيقات والخدمات)، وأضف “Admin SDK” (حزمة تطوير برامج المسؤول)

  2. انتقل إلى “IAM & Admin” (إدارة الهوية والوصول) → “Service Accounts” (حسابات الخدمة) → “Create Service Account” (إنشاء حساب خدمة) وقم بإعداد حساب. الخطوتان الاختياريتان غير مطلوبتين - تخطَّهما.

  3. في قائمة حسابات الخدمة، انقر على الحساب الذي تم إنشاؤه حديثًا، وسجل “unique id” (المعرف الفريد) لوقت لاحق، ثم انتقل إلى علامة التبويب “Keys” (المفاتيح). قم بإنشاء مفتاح جديد بالتنسيق “JSON” واحفظ الملف لوقت لاحق.

  4. انتقل إلى admin.google.com، وقم بزيارة قسم “security” (الأمان). افتح “API Controls” (عناصر تحكم واجهة برمجة التطبيقات)، ثم “Manage Third Party App Access” (إدارة الوصول إلى تطبيقات الطرف الثالث). ثم “Add App” (إضافة تطبيق)، ثم “OAuth App Name or Client ID” (اسم تطبيق OAuth أو معرّف العميل). أدخل معرّف العميل لتطبيق OAuth الخاص بك، ثم حدده من القائمة. اتبع الخطوات، وتأكد من تعيين التطبيق على أنه “Trusted” (موثوق به). يجب أن يظهر بعد ذلك في القائمة:

  5. ارجع إلى قسم “API Controls” (عناصر تحكم واجهة برمجة التطبيقات)، وقم بالتمرير لأسفل، واختر “Manage Domain Wide Delegation” (إدارة تفويض النطاق بالكامل). اختر “Add New” (إضافة جديد)، وأدخل معرّف العميل لحساب الخدمة الذي أنشأته سابقًا. ضمن النطاقات (scopes)، الصق القيمة

    https://www.googleapis.com/auth/admin.directory.group.readonly
    
  6. في لوحة تحكم مسؤول 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 على عمله على هذه الميزة. نأمل في توسيع نظام مزامنة المجموعات هذا ليشمل طرق تسجيل دخول أخرى في المستقبل القريب.

8 إعجابات

أود استخدام هذا مع “generic oauth2” (لـ auth0 تحديدًا). هل هناك موضوع آخر أو مشكلة على GitHub يمكنني متابعتها لهذا الغرض؟

3 إعجابات

@david أو @angus هل يمكنك تقديم المزيد من التفاصيل للعنصر 6.

> اقتباس google oauth2 hd: اسم النطاق الخاص بك في Google Workspace

  1. هل تقصد نطاقي (ebsp.org) الذي يحتوي على حساب Workspace؟ أم النطاق الفعلي لـ Workspace.
  2. هل هو مجرد عنوان URL؟

> اقتباس google_oauth2_hd_groups_service_account_json: الصق محتويات ملف مفتاح حساب الخدمة الذي أنشأته سابقًا
انسخ والصق المحتويات بأكملها من JSON؟

@angus @david لقد اتبعت هذه التعليمات كما هي موضحة. لدي مربع للبحث عن مجموعة، ولكن لا توجد مجموعات تظهر. أي أفكار؟

مرحباً تشارلي، google oauth2 hd يأتي من Google OIDC API (المستندات هنا). يقولون إنه:

النطاق المرتبط بمؤسسة Google Workspace أو Cloud للمستخدم

لإعطاء مثال، إذا كنت أقوم بإعداد هذا داخليًا لموظفينا، فسأقوم بتعيين القيمة على discourse.org.

نعم!

ستظهر مجموعات Google في Discourse فقط بمجرد تسجيل عضو في تلك المجموعة في Discourse باستخدام Google. ليس لدينا أي نظام لسردها مقدمًا.

إعجاب واحد (1)

@david لقد تمكنت أخيرًا من تشغيله. اضطررت إلى إيقاف تشغيل بعض الأشياء. الطريقة التي تم بها إعداد موقعي، تم تسجيل دخول المستخدمين تلقائيًا عبر Google Oauth. قمت بإيقاف تشغيل ذلك و Discourse Connect وعمل الأمر. غير متأكد من أي منهما كان يتسبب في قطع الاتصال. بمجرد تسجيل الدخول فعليًا باستخدام Google، تم ملء كل شيء.

إعجاب واحد (1)

هل لا يزال قراءة مجموعات Google تجريبية؟ هل تغيرت هذه التعليمات؟

إعجاب واحد (1)

مثل @John_Faig، أتساءل عما إذا كان هذا لا يزال تجريبيًا.

لقد رأيت هذه الميزة للتو ولدي ثلاث مجموعات Google أود ترحيلها. إن إقناع الأشخاص بـ “التغيير” أمر صعب للغاية. نحتاج إلى أسباب وجيهة للخروج من منطقة راحتنا. ثم لا نريد عقبات في العملية. إنشاء تسجيل دخول (Discourse) في موقع ويب آخر هو إزعاج للأشخاص المستثمرين بالفعل في GG. إذا كانت هذه الميزة مستقرة، تتم إزالة العقبة المحتملة، ويمكننا التركيز على تقديم أسباب مقنعة للجمهور للترحيل.

شكرا!