SIWE العملية: ثلاث خطوات لإنشاء نظام التحقق من الهوية بإثيريوم

robot
إنشاء الملخص قيد التقدم

دليل استخدام SIWE: اجعل تطبيقك اللامركزي أقوى

SIWE(تسجيل الدخول باستخدام Ethereum) هي وسيلة للتحقق من هوية المستخدم على Ethereum، تشبه معاملات بدء المحفظة، تثبت سيطرة المستخدم على المحفظة. في الوقت الحالي، أصبح التحقق من الهوية سهلًا للغاية، يكفي فقط توقيع المعلومات في مكون المحفظة، وقد دعمت معظم مكونات المحفظة الشائعة ذلك. تناقش هذه المقالة بشكل أساسي سيناريوهات التوقيع على Ethereum.

دليل استخدام SIWE: كيف تجعل Dapp الخاص بك أقوى؟

هل تحتاج إلى SIWE

إذا كانت لديك المتطلبات التالية لـ Dapp الخاص بك، يمكنك التفكير في استخدام SIWE:

  • لديه نظام مستخدمين خاص به
  • تحتاج إلى استعلام عن المعلومات المتعلقة بخصوصية المستخدم

ولكن إذا كانت Dapp الخاصة بك تعتمد بشكل أساسي على وظيفة الاستعلام، مثل التطبيقات الشبيهة بـ etherscan، فلا يتعين عليك بالضرورة استخدام SIWE.

قد تتساءل، بعد الاتصال بالمحفظة على Dapp، أليس ذلك دليلاً على ملكية المحفظة؟ هذا صحيح فقط بالنسبة للواجهة الأمامية. بالنسبة لاستدعاءات واجهة برمجة التطبيقات التي تحتاج إلى دعم خلفي، فإن تمرير العنوان فقط غير كافٍ، لأن العنوان هو معلومات عامة، يمكن لأي شخص "استعارة" هويتك.

دليل استخدام SIWE: كيفية جعل Dapp الخاص بك أكثر قوة؟

مبدأ SIWE والعملية

يمكن تلخيص عملية SIWE في ثلاث خطوات: الاتصال بالمحفظة - التوقيع - الحصول على هوية.

ربط المحفظة

هذا هو عملية شائعة في Web3، حيث يتم الاتصال بالمحفظة في Dapp من خلال ملحق المحفظة.

توقيع

تشمل خطوات التوقيع الحصول على قيمة Nonce، توقيع المحفظة والتحقق من توقيع الخلفية.

تقوم الخلفية بإنشاء قيمة عشوائية من نوع Nonce وترتبط بالعنوان. بعد أن يحصل الواجهة الأمامية على قيمة Nonce، تقوم بإنشاء محتوى التوقيع، بما في ذلك قيمة Nonce، واسم المجال، ومعرف السلسلة، وما إلى ذلك، باستخدام الطريقة التي توفرها المحفظة للتوقيع. وأخيرًا، يتم إرسال التوقيع إلى الخلفية.

الحصول على هوية

بعد التحقق من صحة توقيع الخلفية، يتم إرجاع هوية المستخدم ( مثل JWT ). يجب أن تتضمن الطلبات اللاحقة من الواجهة الأمامية العنوان وهوية المستخدم، مما يثبت ملكية المحفظة.

دليل استخدام SIWE: كيف تجعل تطبيقك أقوى؟

ممارسة SIWE

سوف نستخدم Next.js لتطوير عرض تجريبي بسيط لـ SIWE، لعرض العملية الأساسية. ملاحظة، هذا العرض التجريبي يستخدم فقط للتعريف، وقد توجد مشاكل أمنية عند استخدامه في بيئة الإنتاج.

العمل التحضيري

  1. تثبيت Next.js

npx create-next-app@14

دليل استخدام SIWE: كيف تجعل تطبيقك أكثر قوة؟

  1. تثبيت تبعيات SIWE ذات الصلة

npm تثبيت antd @ant-design/web3 @ant-design/web3-wagmi wagmi viem @tanstack/react-query --save

دليل استخدام SIWE: كيف تجعل تطبيقك أكثر قوة؟

  1. تقديم WagmiProvider في layout.tsx

دليل استخدام SIWE: كيف تجعل تطبيقك أكثر قوة؟

  1. تنفيذ زر اتصال المحفظة

  2. تنفيذ واجهة الخلفية

    • توليد Nonce
    • التحقق من التوقيع
  3. تحسين: استخدام خدمات العقد المتخصصة لتحسين سرعة الاستجابة

من خلال الخطوات السابقة، قمنا بإنشاء إطار عمل أساسي لتسجيل الدخول SIWE. يمكن أن يؤدي استخدام خدمات العقد الاحترافية إلى زيادة كبيرة في سرعة التحقق، لذا يوصى باستخدامها في بيئة الإنتاج.

دليل استخدام SIWE: كيف تجعل تطبيقك أكثر قوة؟

ETH-0.29%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 7
  • إعادة النشر
  • مشاركة
تعليق
0/400
لا توجد تعليقات
  • تثبيت