SIWE: новий стандарт ідентифікації Ethereum для підвищення безпеки Dapp та користувацького досвіду

robot
Генерація анотацій у процесі

SIWE: інструмент для підвищення можливостей ідентифікації Dapp

SIWE (Sign-In with Ethereum) є методом перевірки ідентифікації користувачів на Ethereum, подібно до ініціювання транзакцій, що підтверджує контроль користувача над гаманцем. Наразі процес ідентифікації значно спростився, потрібно лише підписати інформацію в плагіні гаманця, більшість поширених плагінів гаманців вже підтримують цю функцію.

Ця стаття в основному обговорює сценарії підпису в Ethereum та не торкається інших блокчейнів, таких як Solana, SUI тощо.

SIWE використання посібника: як зробити ваш Dapp більш потужним?

Коли потрібен SIWE

Якщо ваш Dapp має такі характеристики, ви можете розглянути можливість використання SIWE:

  • Мати незалежну систему користувачів
  • Потрібно запитати інформацію, що стосується приватності користувача

Для застосунків, основна функція яких полягає в запитах, таких як блокчейн-браузери, можна не використовувати SIWE.

Хоча з'єднання гаманця на Dapp, здається, вже підтвердило ідентифікацію, це діє лише на фронтенді. Для викликів інтерфейсу, які потребують підтримки з боку бекенду, передача лише адреси недостатня, оскільки адреса є публічною інформацією і її легко підробити.

SIWE використання посібника: як зробити ваш Dapp більш потужним?

Принцип роботи SIWE

Процес SIWE можна звести до трьох етапів: підключення гаманця, підписання, отримання ідентифікації.

  1. Підключення гаманця: підключіть гаманець користувача в Dapp за допомогою плагіна гаманця.

  2. Підпис:

    • Отримати значення Nonce: викликати бекенд-інтерфейс для отримання випадково згенерованого значення Nonce.
    • Підпис гаманця: побудова підпису, що містить значення Nonce, домен, ID мережі та іншу інформацію, за допомогою методу, наданого гаманцем.
    • Надіслати підпис: надішліть підпис на сервер для перевірки.
  3. Отримання ідентифікації: Після успішної перевірки підпису на серверній стороні повертається ідентифікація користувача (наприклад, JWT). У подальших запитах необхідно вказати адресу та ідентифікацію, щоб підтвердити право власності на гаманець.

SIWE посібник з використання: як зробити ваш Dapp більш потужним?

Практичний посібник

Ця стаття використовує Next.js для розробки повноцінного застосунку, інтегруючи функцію SIWE. Ось основні кроки:

  1. Встановіть залежності: Використовуйте create-next-app для створення проекту та встановіть залежності, пов'язані з SIWE.

SIWE використання посібника: Як зробити ваш Dapp більш потужним?

  1. Введення Wagmi: В файлі layout.tsx імплементуйте WagmiProvider, налаштуйте інтерфейси, пов'язані з SIWE.

SIWE посібник з використання: як зробити ваш Dapp більш потужним?

  1. Додати кнопку підключення: Реалізуйте компонент кнопки для підключення гаманця та підписання.

SIWE посібник: Як зробити ваш Dapp більш потужним?

  1. Реалізація інтерфейсу:
    • Генерація nonce: створення випадкового рядка та його асоціація з адресою.
    • Перевірка підпису: перевірка вмісту підпису на сервері, перевірка значення Nonce, генерація JWT.

SIWE посібник з використання: як зробити ваш Dapp більш потужним?

  1. Оптимізація: Рекомендується використовувати спеціалізовані вузлові служби (наприклад, ZAN) для підвищення швидкості відповіді інтерфейсу.

За допомогою вищевказаних кроків можна реалізувати базову структуру входу SIWE, що забезпечує більш безпечний і надійний механізм ідентифікації для Dapp.

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 5
  • Поділіться
Прокоментувати
0/400
ChainSherlockGirlvip
· 9год тому
Гаманець підпис SIWE? Чутки стверджують, що деякі блакитні фішки стали жертвами Кліпових купонів, особисті домисли потребують перевірки.
Переглянути оригіналвідповісти на0
AirdropHarvestervip
· 9год тому
Нарешті не потрібно скрізь зберігати паролі~
Переглянути оригіналвідповісти на0
Web3Educatorvip
· 9год тому
*коригує окуляри* web3 авторизація, нарешті зроблена правильно, чесно кажучи
Переглянути оригіналвідповісти на0
SmartContractPhobiavip
· 9год тому
Гаманець підпис не буде, як бути?
Переглянути оригіналвідповісти на0
CryptoSurvivorvip
· 9год тому
Ця перевірка стала набагато зручнішою!
Переглянути оригіналвідповісти на0
  • Закріпити