SIWE (تسجيل الدخول باستخدام Ethereum) هي طريقة للتحقق من هوية المستخدم على Ethereum. إنها مشابهة لبدء المعاملات، من خلال التوقيع لإثبات سيطرة المستخدم على المحفظة. حاليًا، تدعم معظم إضافات المحفظة هذه الطريقة البسيطة للتحقق من الهوية، حيث يتطلب الأمر فقط توقيع المعلومات في الإضافة.
تتناول هذه المقالة سيناريوهات التوقيع على شبكة الإيثريوم، ولا تتعلق بسولانا أو SUI أو أي سلاسل عامة أخرى.
متى تحتاج لاستخدام SIWE
إذا كانت Dapp الخاصة بك تحتوي على المتطلبات التالية، يمكنك النظر في استخدام SIWE:
امتلاك نظام مستخدم مستقل
تحتاج إلى استعلام عن المعلومات المتعلقة بالخصوصية للمستخدم
بالنسبة لـ Dapp( التي تركز على الاستعلام مثل etherscan)، فقد لا تحتاج بالضرورة إلى SIWE.
على الرغم من أن الاتصال بمحفظة على Dapp يبدو أنه قد أثبت هوية المستخدم، إلا أن هذا ينطبق فقط على الواجهة الأمامية. بالنسبة لاستدعاءات الواجهة الخلفية التي تحتاج إلى دعم، فإن تمرير العنوان فقط غير كافٍ، لأن العنوان هو معلومات عامة، ويمكن لأي شخص "استعارة".
مبادئ وعمليات SIWE
يمكن تلخيص عملية SIWE في ثلاث خطوات: الاتصال بالمحفظة - التوقيع - الحصول على التعريف بالهوية.
ربط المحفظة
هذه عملية شائعة في Web3، حيث يتم الاتصال بمحفظة المستخدم في Dapp من خلال مكون إضافي للمحفظة.
التوقيع
خطوات توقيع SIWE تشمل الحصول على قيمة Nonce، توقيع المحفظة والتحقق من توقيع الخادم.
أولاً، تحتاج إلى استدعاء واجهة برمجة التطبيقات الخلفية للحصول على قيمة Nonce. سيقوم الخلف بتوليد Nonce عشوائي وربطه بالعنوان الحالي.
بعد الحصول على Nonce من الواجهة الأمامية، يتم بناء محتوى التوقيع، بما في ذلك Nonce واسم النطاق وID السلسلة وغيرها من المعلومات، ثم يتم استخدام الطريقة التي يوفرها المحفظة للتوقيع.
أخيرًا، يتم إرسال التوقيع إلى الواجهة الخلفية للتحقق.
الحصول على التعريف بالهوية
بعد التحقق من صحة التوقيع في الخلفية، سيتم إرجاع التعريف بالهوية للمستخدم ( مثل JWT). في الطلبات اللاحقة، يجب على الواجهة الأمامية تضمين العنوان والتعريف بالهوية لإثبات ملكية المحفظة.
دليل الممارسة
فيما يلي الخطوات الأساسية لتنفيذ SIWE باستخدام Next.js:
تثبيت Next.js والاعتمادات ذات الصلة
إدخال مكونات Wagmi و Ant Design Web3
تكوين WagmiProvider
تنفيذ زر ربط المحفظة
تطوير واجهة خلفية ( توليد nonce والتحقق من التوقيع )
يمكن الرجوع إلى النص الأصلي لتنفيذ الشيفرة المحددة.
اقتراحات التحسين
استخدام خدمات العقد المتخصصة ( مثل ZAN) يمكن أن يحسن بشكل كبير من وقت استجابة التحقق من SIWE. استبدال RPC الافتراضي بعنوان RPC لخدمات العقد عالية الأداء يمكن أن يقلل بشكل كبير من وقت التحقق، مما يزيد من سرعة الواجهة.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 15
أعجبني
15
6
مشاركة
تعليق
0/400
ProposalManiac
· 07-23 08:46
لا يزال لا يمكن الهروب من مصير التحقق المركزي.
شاهد النسخة الأصليةرد0
LiquidatedTwice
· 07-20 10:02
حقًا رائع، مشروع قديم بحياة جديدة
شاهد النسخة الأصليةرد0
RugPullAlertBot
· 07-20 10:02
مرة أخرى مفهوم التشفير هرب هرب
شاهد النسخة الأصليةرد0
0xLuckbox
· 07-20 09:51
مرة أخرى عملية تحرق غاز
شاهد النسخة الأصليةرد0
MEV_Whisperer
· 07-20 09:51
التعريف بالهوية هو مجرد فخ
شاهد النسخة الأصليةرد0
CryptoTherapist
· 07-20 09:43
دعونا نفكك مقاومة النفسية للمصادقة على الويب 3 بصراحة... مشاكل الثقة الكلاسيكية
SIWE: تحسين التعريف بالهوية Dapp سهل تحقيق تسجيل الدخول إلى إثيريوم
SIWE: عزز قدرتك على التحقق من الهوية في Dapp
SIWE (تسجيل الدخول باستخدام Ethereum) هي طريقة للتحقق من هوية المستخدم على Ethereum. إنها مشابهة لبدء المعاملات، من خلال التوقيع لإثبات سيطرة المستخدم على المحفظة. حاليًا، تدعم معظم إضافات المحفظة هذه الطريقة البسيطة للتحقق من الهوية، حيث يتطلب الأمر فقط توقيع المعلومات في الإضافة.
تتناول هذه المقالة سيناريوهات التوقيع على شبكة الإيثريوم، ولا تتعلق بسولانا أو SUI أو أي سلاسل عامة أخرى.
متى تحتاج لاستخدام SIWE
إذا كانت Dapp الخاصة بك تحتوي على المتطلبات التالية، يمكنك النظر في استخدام SIWE:
بالنسبة لـ Dapp( التي تركز على الاستعلام مثل etherscan)، فقد لا تحتاج بالضرورة إلى SIWE.
على الرغم من أن الاتصال بمحفظة على Dapp يبدو أنه قد أثبت هوية المستخدم، إلا أن هذا ينطبق فقط على الواجهة الأمامية. بالنسبة لاستدعاءات الواجهة الخلفية التي تحتاج إلى دعم، فإن تمرير العنوان فقط غير كافٍ، لأن العنوان هو معلومات عامة، ويمكن لأي شخص "استعارة".
مبادئ وعمليات SIWE
يمكن تلخيص عملية SIWE في ثلاث خطوات: الاتصال بالمحفظة - التوقيع - الحصول على التعريف بالهوية.
ربط المحفظة
هذه عملية شائعة في Web3، حيث يتم الاتصال بمحفظة المستخدم في Dapp من خلال مكون إضافي للمحفظة.
التوقيع
خطوات توقيع SIWE تشمل الحصول على قيمة Nonce، توقيع المحفظة والتحقق من توقيع الخادم.
أولاً، تحتاج إلى استدعاء واجهة برمجة التطبيقات الخلفية للحصول على قيمة Nonce. سيقوم الخلف بتوليد Nonce عشوائي وربطه بالعنوان الحالي.
بعد الحصول على Nonce من الواجهة الأمامية، يتم بناء محتوى التوقيع، بما في ذلك Nonce واسم النطاق وID السلسلة وغيرها من المعلومات، ثم يتم استخدام الطريقة التي يوفرها المحفظة للتوقيع.
أخيرًا، يتم إرسال التوقيع إلى الواجهة الخلفية للتحقق.
الحصول على التعريف بالهوية
بعد التحقق من صحة التوقيع في الخلفية، سيتم إرجاع التعريف بالهوية للمستخدم ( مثل JWT). في الطلبات اللاحقة، يجب على الواجهة الأمامية تضمين العنوان والتعريف بالهوية لإثبات ملكية المحفظة.
دليل الممارسة
فيما يلي الخطوات الأساسية لتنفيذ SIWE باستخدام Next.js:
يمكن الرجوع إلى النص الأصلي لتنفيذ الشيفرة المحددة.
اقتراحات التحسين
استخدام خدمات العقد المتخصصة ( مثل ZAN) يمكن أن يحسن بشكل كبير من وقت استجابة التحقق من SIWE. استبدال RPC الافتراضي بعنوان RPC لخدمات العقد عالية الأداء يمكن أن يقلل بشكل كبير من وقت التحقق، مما يزيد من سرعة الواجهة.