SIWE на практике: три шага к созданию системы идентификации Ethereum

robot
Генерация тезисов в процессе

Руководство по использованию SIWE: сделайте ваше Dapp более мощным

SIWE(Вход с помощью Ethereum) является способом проверки идентичности пользователя на Ethereum, аналогично тому, как кошелек инициирует транзакцию, подтверждая контроль пользователя над кошельком. В настоящее время проверка личности стала очень простой, достаточно подписать информацию в плагине кошелька, и большинство распространенных плагинов кошельков уже поддерживают это. В этой статье в основном рассматриваются сценарии подписания на Ethereum.

! [Руководство SIWE: Как сделать ваше децентрализованное приложение более мощным?] ](https://img-cdn.gateio.im/webp-social/moments-9e9c9e786391f84b004cd8450a29acce.webp)

Нужен ли SIWE

Если ваше Dapp имеет следующие требования, вы можете рассмотреть возможность использования SIWE:

  • Имеет свою собственную пользовательскую систему
  • Необходимо запросить информацию, связанную с конфиденциальностью пользователей

Но если ваш Dapp в основном предназначен для функций запроса, таких как приложения, подобные etherscan, то SIWE не обязательно.

Вы можете задаться вопросом: разве после подключения кошелька к Dapp не доказана собственность кошелька? Это верно только для фронтенда. Для вызовов интерфейса, требующих поддержки бэкенда, просто передача адреса недостаточна, потому что адрес является открытой информацией, и любой может «одолжить» вашу личность.

! [Руководство SIWE: Как сделать ваше децентрализованное приложение более мощным?] ](https://img-cdn.gateio.im/webp-social/moments-138fc08a9148099755d1fe162292922f.webp)

Принципы и процесс SIWE

Процесс SIWE можно кратко описать тремя шагами: подключение кошелька - подпись - получение идентификатора личности.

Подключить кошелек

Это распространенная операция Web3, подключение кошелька в Dapp через плагин кошелька.

Подпись

Этапы подписи включают получение значения Nonce, подпись кошелька и проверку подписи на сервере.

Бэкэнд генерирует случайное значение Nonce и связывает его с адресом. Фронтэнд получает значение Nonce и строит содержимое подписи, включая значение Nonce, доменное имя, ID цепи и т. д., используя методы, предоставленные кошельком, для подписи. В конце концов, подпись отправляется на бэкэнд.

Получить идентификационный номер

После проверки подписи на стороне сервера возвращается идентификатор пользователя (, как JWT). Последующие запросы на стороне клиента должны содержать адрес и идентификатор, чтобы подтвердить право собственности на кошелек.

SIWE Руководство по использованию: Как сделать ваше Dapp более мощным?

Практика SIWE

Мы разработаем простой демонстрационный проект SIWE с использованием Next.js, чтобы продемонстрировать основной процесс. Обратите внимание, что этот демо-версий предназначен только для ознакомления, использование в производственной среде может представлять собой проблемы с безопасностью.

Подготовительные работы

  1. Установите Next.js

NPX создать-следующий-app@14

! [Руководство SIWE: Как сделать ваше децентрализованное приложение более мощным?] ](https://img-cdn.gateio.im/webp-social/moments-53c03d1cb26f29a9d739e3d1aa0816df.webp)

  1. Установка зависимостей SIWE

npm install antd @ant-design/web3 @ant-design/web3-wagmi wagmi viem @tanstack/react-query --save

! [Руководство SIWE: Как сделать ваше децентрализованное приложение более мощным?] ](https://img-cdn.gateio.im/webp-social/moments-18a98c883797c414a689c54ae0d65302.webp)

  1. Импортируйте WagmiProvider в layout.tsx

! [Руководство SIWE: Как сделать ваше децентрализованное приложение более мощным?] ](https://img-cdn.gateio.im/webp-social/moments-9351d7f08e48962120d591c3a0c7d245.webp)

  1. Реализовать кнопку подключения кошелька

  2. Реализация интерфейса backend

    • Генерация Nonce
    • Проверка подписи
  3. Оптимизация: использование специализированных узловых сервисов для повышения скорости реакции

Следуя вышеуказанным шагам, мы реализовали основную структуру входа SIWE. Использование профессиональных узловых сервисов может значительно повысить скорость проверки, рекомендуется использовать в производственной среде.

! [Руководство SIWE: Как сделать ваше децентрализованное приложение более мощным?] ](https://img-cdn.gateio.im/webp-social/moments-0ce46cff7473e96e768adfb5fc6dafb8.webp)

ETH-0.26%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 7
  • Репост
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить