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

:bookmark: يشرح هذا الدليل كيفية إعداد وتهيئة Discord كخيار تسجيل دخول لمنتدى Discourse الخاص بك، بما في ذلك كيفية تقييد الوصول إلى خوادم (guilds) Discord محددة.

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

بمجرد التهيئة، سيظهر Discord كخيار تسجيل دخول بجانب طرق المصادقة الأخرى في منتدىك:

إعداد Discord OAuth2

إنشاء تطبيق Discord

  1. قم بزيارة بوابة مطوري Discord
  2. انقر على “New Application” (تطبيق جديد)
  3. أدخل اسمًا، وقم بتحميل أيقونة، وأضف وصفًا لتطبيقك
    • سيتم عرض هذه التفاصيل للمستخدمين أثناء عملية تسجيل الدخول

تهيئة إعدادات OAuth2

  1. انتقل إلى علامة التبويب “OAuth2” في الشريط الجانبي الأيسر

  1. انسخ “Client ID” (معرّف العميل) و “Client Secret” (سر العميل)
    • إذا لم يكن السر مرئيًا، فانقر على “Reset Secret” (إعادة تعيين السر) لإنشاء سر جديد
  2. أضف عنوان URL لإعادة التوجيه الخاص بك:
    • التنسيق: https://your-discourse-site.com/auth/discord/callback
    • :warning: لا تقم بتضمين شرطة مائلة لاحقة (trailing slash)
  3. انقر على “Save Changes” (حفظ التغييرات)

تمكين تسجيل الدخول عبر Discord في Discourse

  1. في إعدادات مسؤول Discourse، أدخل معرّف العميل في الإعداد discord_client_id
  2. أدخل سر العميل في الإعداد discord_secret
  3. قم بتمكين الإعداد enable_discord_logins

تقييد الوصول إلى خوادم Discord محددة

يمكنك قصر تسجيل الدخول عبر Discord على أعضاء خوادم (guilds) Discord محددة.

العثور على معرّف الخادم (Guild ID) الخاص بك

  1. افتح Discord في متصفحك
  2. انتقل إلى أي قناة في خادمك
  3. انظر إلى عنوان URL: https://discord.com/channels/{guild_id}/{channel_id}
  4. انسخ الرقم الأول (guild_id) من عنوان URL
    • مثال: في https://discord.com/channels/123/456، يكون معرّف الخادم هو 123

تهيئة قيود الخادم

  1. في إعدادات مسؤول Discourse، حدد موقع الإعداد discord_trusted_guilds
  2. أضف معرّف (أو معرّفات) الخادم الخاص بك
    • يمكنك إضافة معرفات خوادم متعددة إذا لزم الأمر

عندما يتم تمكين تقييد الخادم:

  • سيقوم أعضاء الخوادم الموثوقة بتسجيل الدخول بشكل طبيعي
  • سيرى المستخدمون الآخرون رسالة خطأ
  • يمكنك تخصيص هذه الرسالة ضمن Customize → Text (تخصيص ← نص)، ابحث عن discord.not_in_allowed_guild

:warning: إذا كنت تستخدم قيود الخادم لأغراض الأمان، فقم بتعطيل جميع طرق تسجيل الدخول الأخرى في إعدادات Discourse الخاصة بك.

الخطوات التالية

فكر في إعداد إضافة تكامل الدردشة (chat-integration plugin) لدفع مواضيع Discourse المهمة إلى قنوات Discord الخاصة بك.

34 إعجابًا

تم تقسيم مشاركة إلى موضوع جديد: إضافة المزيد من النطاقات لتسجيل الدخول إلى Discord

ألا تبدأ معرفات القنوات على ديسكورد الآن بـ discord.com؟ عندما أستخدم ديسكورد على الويب، كانت دائمًا discord.com/channels/[guild_id]/[channel_id] على مدار العامين الماضيين أو نحو ذلك.

يبدو أن هذا الدليل قديم جدًا. في واجهة مسؤول Discourse، يمكنك تحديد:

  • تمكين تسجيلات الدخول إلى Discord
  • معرف عميل Discord
  • سر Discord
  • النقابات الموثوقة في Discord (اختياري)

في هذه الأثناء، في واجهة مطوري Discord، لدينا:

  • الاسم
  • الوصف (اختياري)
  • معرف التطبيق
  • المفتاح العام
  • عنوان URL لنقطة نهاية التفاعلات (اختياري)
  • عنوان URL للتحقق من الأدوار المرتبطة (اختياري)

بافتراض أن

  • معرف عميل Discord هو معرف التطبيق، و
  • سر Discord هو نفس المفتاح العام، و
  • ترك الخيارات الاختيارية فارغة،

ينتج عن هذا خطأ في Discord أثناء محاولة المصادقة:

إذا حاولت تعيين عنوان URL لنقطة نهاية التفاعلات إلى
https://forum.example.com/auth/discord/callback، أحصل على

أخطاء التحقق:
    interactions_endpoint_url: لم يمكن التحقق من عنوان URL لنقطة نهاية التفاعلات المحدد.

في واجهة مطوري Discord.

ما هو الإجراء الصحيح لإعداد هذا؟

مرحباً،

أحصل على نفس الخطأ “Invalid OAuth2 redirect_uri”

هل نجح أي شخص في عملية التكامل؟

لقد اختبرت هذا للتو وعملت الخطوات المذكورة في المنشور الأصلي بالنسبة لي. لقد أضفت عنوان URL لموقعي كما طُلب:

https://test.mydomain.com/auth/discord/callback

وتم قبوله بدون أخطاء. تحتاج إلى إضافة هذا في قسم Oauth2 > Redirects

5 إعجابات

شكراً جزيلاً pmusaraj

لقد قرأت البرنامج التعليمي لهذه الصفحة وليس وثائق ديسكورس
لن أرتكب نفس الخطأ في المرة القادمة، آسف للإزعاج :sweat_smile:

3 إعجابات