| ملخص | تمكين تسجيل الدخول باستخدام إيثريوم على Discourse | |
| المستودع | GitHub - signinwithethereum/discourse-siwe-auth: Discourse plugin for SIWE authentication · GitHub | |
| دليل التثبيت | كيفية تثبيت الإضافات في Discourse |
إضافة Discourse تتيح للمستخدمين المصادقة باستخدام محفظة إيثريوم الخاصة بهم باستخدام
معيار تسجيل الدخول باستخدام إيثريوم (SIWE). تعمل المحافظ المُحقونة
(مثل MetaMask و Safe وغيرها) بشكل فوري. يتم حل أسماء ENS والصور الرمزية
على جانب الخادم عند تكوين نقطة نهاية RPC.
المتطلبات
- منتدى Discourse مستضاف ذاتيًا أو مستضاف مع مزود يدعم
الإضافات من جهات خارجية، مثل Communiteq.
التثبيت
الوصول إلى ملف app.yml الخاص بالحاوية:
cd /var/discourse
nano containers/app.yml
أضف عنوان URL لمستودع الإضافة إلى خطاف after_code:
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git
- sudo -E -u discourse git clone https://github.com/signinwithethereum/discourse-siwe-auth.git # <-- تمت الإضافة
اتبع التنسيق الحالي لسطر docker_manager.git؛ إذا لم يحتوي
على sudo -E -u discourse، فاستخدم
git clone https://github.com/signinwithethereum/discourse-siwe-auth.git بدلاً من ذلك.
أعد بناء الحاوية:
cd /var/discourse
./launcher rebuild app
التكوين
بعد التثبيت، ابحث عن الإضافة تحت Admin > Plugins وتأكد من
تفعيلها:
انقر فوق الإعدادات لتكوين الإضافة:
من هنا يمكنك تخصيص بيان تسجيل الدخول وإضافة معرف مشروع WalletConnect / Reown اختياريًا. بدون معرف مشروع، تكون المحافظ المُحقونة فقط (مثل MetaMask و Safe وغيرها) متاحة.
الإعدادات
| الإعداد | الوصف |
|---|---|
| Discourse siwe enabled | تمكين أو تعطيل المصادقة عبر تسجيل الدخول باستخدام إيثريوم. |
| Siwe ethereum rpc url | اختياري. نقطة نهاية JSON-RPC الخاصة بإيثريوم تُستخدم لحل أسماء ENS والصور الرمزية والتحقق من التوقيعات EIP-1271 (مطلوب لمحافظ العقود الذكية مثل SAFE). يُوصى بمزود مخصص (مثل Alchemy أو Infura). مثال: https://mainnet.infura.io/v3/YOUR_KEY. |
| Siwe project ID | اختياري. معرف مشروع WalletConnect / Reown. بدونه، تكون المحافظ المُحقونة فقط (مثل MetaMask و Safe وغيرها) متاحة. لتمكين WalletConnect، قم بإنشاء معرف مشروع مجاني في dashboard.reown.com. |
| Siwe statement | البيان المقروء للإنسان الذي يظهر في رسالة SIWE. الافتراضي هو “Sign in with Ethereum”. |
كيف يعمل
عندما يضغط المستخدم على زر تسجيل الدخول بإيثريوم، تفتح الإضافة
مصادقة مخصصة. يقوم المستخدم بتوصيل محفظته، وتوقيع رسالة SIWE،
ويتم المصادقة عليه عبر استراتيجية OmniAuth على جانب الخادم.
بعد أول تسجيل دخول، يُطلب من المستخدمين ربط عنوان بريد إلكتروني بحسابهم. إذا تم تكوين عنوان URL لـ RPC وكان العنوان المتصل يحتوي على اسم ENS،
يتم حل الاسم والتحقق منه على جانب الخادم واقتراحه كاسم مستخدم افتراضي. يتم جلب صور رمزية ENS عبر خدمة بيانات تعريف ENS واستخدامها كصورة الملف الشخصي.
بدلاً من ذلك، يمكن للمستخدمين الحاليين ربط حسابات إيثريوم الخاصة بهم عبر
إعدادات ملفهم الشخصي.

