| ملخص | تمكين تسجيل الدخول باستخدام إيثريوم (Sign-In with Ethereum) على Discourse | |
| المستودع | GitHub - signinwithethereum/discourse-siwe-auth: Discourse plugin for SIWE authentication · GitHub | |
| دليل التثبيت | كيفية تثبيت الإضافات في Discourse |
الميزات
تتيح هذه الإضافة تسجيل الدخول باستخدام إيثريوم (Sign-In with Ethereum) على Discourse
الإعداد
المتطلبات
- منتدى Discourse مستضاف ذاتيًا أو مستضاف لدى مزود يسمح بإضافات الطرف الثالث، مثل Communiteq.
ملاحظة
لا تزال إضافة تسجيل الدخول باستخدام إيثريوم تتطلب من المستخدمين إدخال بريد إلكتروني لربطه بحساباتهم بعد المصادقة للمرة الأولى. إذا كان المستخدم يمتلك عنوان ENS، فسيكون هو اسم المستخدم المحدد افتراضيًا. بمجرد ربط عنوان بريد إلكتروني، يمكن للمستخدمين بعد ذلك تسجيل الدخول باستخدام خيار SIWE في أي وقت.
تمكين الإضافة
لتثبيت الإضافة وتمكينها على Discourse المستضاف ذاتيًا، استخدم الطريقة التالية: قم بالوصول إلى ملف app.yml الخاص بحاوية التطبيق (الموجود في /var/discourse/containers/):
cd /var/discourse
nano containers/app.yml
أضف عنوان URL لمستودع الإضافة إلى ملف app.yml الخاص بحاويتك:
hooks:
before_code: # <-- تمت الإضافة
- exec: # <-- تمت الإضافة
cmd: # <-- تمت الإضافة
- gem install rubyzip # <-- تمت الإضافة
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/spruceid/discourse-siwe-auth.git # <-- تمت الإضافة
اتبع التنسيق الحالي لسطر docker_manager.git؛ إذا لم يكن يحتوي على sudo -E -u discourse، فقم بإدراج - git clone https://github.com/spruceid/discourse-siwe-auth.git.
أعد بناء الحاوية:
cd /var/discourse
./launcher rebuild app
لتعطيلها، إما قم بإزالة الإضافة أو قم بإلغاء تحديد “discourse siwe enabled” في (إعدادات المسؤول - إضافات - discourse-siwe - discourse siwe enabled).
تمكين WalletConnect
يمكن توفير دعم WalletConnect عبر Infura. قم بإنشاء مشروع Infura جديد لتلقي معرف مشروع Infura جديد. ثم انتقل إلى الإعدادات (نفس المكان السابق) والصق المعرف في ذلك الموقع وانقر على علامة الاختيار. 
JSON RPC
كبديل، يمكنك تكوين مثيل WalletConnect باستخدام نقاط نهاية JSON RPC، كما هو موضح أدناه:
- سيؤدي القيام بذلك إلى تجاوز خيار تكوين معرف Infura لـ WalletConnect على وجه التحديد، ولن تتأثر عمليات استخدام معرف Infura الأخرى.
تعديل بيان الرسالة
بشكل افتراضي، تتم إضافة بيان إلى الرسائل: “Sign-in to Discourse via Ethereum”. لتعديل هذا البيان، قم بالوصول إلى الإعدادات (نفس المكان السابق) وقم بتحديثه. 


