SIWE thực chiến: Ba bước xây dựng hệ thống xác thực danh tính Ethereum

robot
Đang tạo bản tóm tắt

Hướng dẫn sử dụng SIWE: Làm cho Dapp của bạn mạnh mẽ hơn

SIWE(Đăng Nhập bằng Ethereum) là một cách xác thực danh tính người dùng trên Ethereum, tương tự như việc ví khởi xướng giao dịch, chứng minh quyền kiểm soát của người dùng đối với ví. Hiện tại, việc xác thực danh tính đã trở nên rất đơn giản, chỉ cần ký thông tin trong plugin ví là đủ, hầu hết các plugin ví phổ biến đều đã hỗ trợ. Bài viết này chủ yếu thảo luận về các tình huống ký trên Ethereum.

SIWE hướng dẫn sử dụng: Làm thế nào để làm cho Dapp của bạn mạnh mẽ hơn?

Có cần SIWE không

Nếu Dapp của bạn có những yêu cầu sau, bạn có thể xem xét sử dụng SIWE:

  • Có hệ thống người dùng riêng
  • Cần tra cứu thông tin liên quan đến quyền riêng tư của người dùng

Nhưng nếu Dapp của bạn chủ yếu là chức năng tra cứu, như ứng dụng tương tự etherscan, thì không nhất thiết phải cần SIWE.

Bạn có thể thắc mắc, sau khi kết nối ví trên Dapp, không phải là đã chứng minh quyền sở hữu ví rồi sao? Điều này chỉ có hiệu lực ở phía trước. Đối với các cuộc gọi giao diện cần hỗ trợ từ phía sau, chỉ việc truyền địa chỉ là không đủ, vì địa chỉ là thông tin công khai, bất kỳ ai cũng có thể "mượn" danh tính của bạn.

Hướng dẫn sử dụng SIWE: Làm thế nào để làm cho Dapp của bạn mạnh mẽ hơn?

Nguyên tắc và quy trình SIWE

Quy trình SIWE có thể tóm tắt thành ba bước: Kết nối ví - Ký tên - Nhận danh tính.

Kết nối ví

Đây là thao tác Web3 phổ biến, kết nối ví trong Dapp thông qua plugin ví.

chữ ký

Các bước ký bao gồm lấy giá trị Nonce, ký ví và xác minh chữ ký từ phía backend.

Phía sau tạo ra giá trị Nonce ngẫu nhiên và liên kết với địa chỉ. Phía trước nhận giá trị Nonce sau đó xây dựng nội dung chữ ký, bao gồm giá trị Nonce, tên miền, ID chuỗi, v.v., sử dụng phương pháp do ví cung cấp để ký. Cuối cùng gửi chữ ký đến phía sau.

Lấy danh tính

Sau khi xác minh chữ ký ở phía backend thành công, trả về danh tính người dùng ( như JWT). Các yêu cầu tiếp theo từ phía frontend mang theo địa chỉ và danh tính, có thể chứng minh quyền sở hữu ví.

SIWE hướng dẫn sử dụng: Làm thế nào để làm cho Dapp của bạn mạnh mẽ hơn?

Thực hành SIWE

Chúng tôi sẽ sử dụng Next.js để phát triển một demo SIWE đơn giản, trình bày quy trình cơ bản. Lưu ý, demo này chỉ được sử dụng để giới thiệu, việc sử dụng trong môi trường sản xuất có thể tồn tại vấn đề về bảo mật.

công việc chuẩn bị

  1. Cài đặt Next.js

npx create-next-app@14

Hướng dẫn sử dụng SIWE: Làm thế nào để làm cho Dapp của bạn mạnh mẽ hơn?

  1. Cài đặt các phụ thuộc liên quan đến SIWE

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

Hướng dẫn sử dụng SIWE: Làm thế nào để làm cho Dapp của bạn mạnh mẽ hơn?

  1. Nhập WagmiProvider vào layout.tsx

SIWE Hướng dẫn sử dụng: Làm thế nào để làm cho Dapp của bạn mạnh mẽ hơn?

  1. Thực hiện nút kết nối ví

  2. Thực hiện giao diện backend

    • Tạo Nonce
    • Xác thực chữ ký
  3. Tối ưu hóa: Sử dụng dịch vụ nút chuyên dụng để nâng cao tốc độ phản hồi

Thông qua các bước trên, chúng ta đã thực hiện một khung đăng nhập SIWE cơ bản. Việc sử dụng dịch vụ nút chuyên nghiệp có thể nâng cao đáng kể tốc độ xác thực, khuyên nên áp dụng trong môi trường sản xuất.

SIWE sử dụng hướng dẫn: Làm thế nào để làm cho Dapp của bạn mạnh mẽ hơn?

ETH-0.1%
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • 7
  • Đăng lại
  • Chia sẻ
Bình luận
0/400
Không có bình luận
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)