SIWE: Tăng cường khả năng xác thực danh tính Dapp của bạn
SIWE (Đăng nhập bằng Ethereum) là một phương pháp xác thực danh tính người dùng trên Ethereum. Nó tương tự như việc khởi tạo giao dịch, thông qua chữ ký để chứng minh quyền kiểm soát ví của người dùng. Hiện tại, hầu hết các plugin ví đều hỗ trợ phương pháp xác thực đơn giản này, chỉ cần ký thông tin trong plugin.
Bài viết này chủ yếu thảo luận về các tình huống ký trên Ethereum, không đề cập đến các chuỗi công cộng khác như Solana, SUI.
Khi nào cần sử dụng SIWE
Nếu Dapp của bạn có những yêu cầu sau, bạn có thể xem xét việc sử dụng SIWE:
Có hệ thống người dùng độc lập
Cần tra cứu thông tin liên quan đến danh tính người dùng
Đối với Dapp( chủ yếu là truy vấn như etherscan), thì không nhất thiết phải có SIWE.
Mặc dù việc kết nối ví trên Dapp dường như đã chứng minh danh tính người dùng, nhưng điều này chỉ hiệu quả ở 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ỉ 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".
Nguyên lý và quy trình của SIWE
Quy trình SIWE có thể được tóm tắt thành ba bước: kết nối ví - ký - nhận danh tính.
Kết nối ví
Đây là thao tác Web3 phổ biến, kết nối ví người dùng trong Dapp thông qua plugin ví.
chữ ký
Các bước ký của SIWE bao gồm lấy giá trị Nonce, ký ví và kiểm tra chữ ký phía sau.
Đầu tiên, cần gọi API backend để lấy giá trị Nonce. Backend sẽ tạo Nonce ngẫu nhiên và liên kết với địa chỉ hiện tại.
Sau khi lấy Nonce từ phía trước, xây dựng nội dung chữ ký, bao gồm Nonce, tên miền, ID chuỗi và các thông tin khác, sau đó sử dụng phương pháp mà ví cung cấp để thực hiện chữ ký.
Cuối cùng, gửi chữ ký đến backend để xác minh.
Lấy danh tính
Sau khi xác minh chữ ký ở phía backend thành công, sẽ trả về danh tính người dùng ( như JWT). Phía frontend sẽ mang theo địa chỉ và danh tính trong các yêu cầu tiếp theo, để chứng minh quyền sở hữu ví.
Hướng dẫn thực hành
Dưới đây là các bước cơ bản để thực hiện SIWE bằng Next.js:
Cài đặt Next.js và các phụ thuộc liên quan
Giới thiệu các thành phần Wagmi và Ant Design Web3
Cấu hình WagmiProvider
Thực hiện nút kết nối ví
Phát triển giao diện backend (Nonce tạo và xác minh chữ ký )
Cụ thể, mã nguồn có thể tham khảo từ văn bản gốc.
Đề xuất tối ưu hóa
Sử dụng dịch vụ nút chuyên dụng ( như ZAN) có thể cải thiện đáng kể thời gian phản hồi của xác thực SIWE. Thay thế RPC mặc định bằng địa chỉ RPC của dịch vụ nút hiệu suất cao có thể giảm thời gian xác thực đáng kể và tăng tốc độ giao diện.
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.
15 thích
Phần thưởng
15
6
Chia sẻ
Bình luận
0/400
ProposalManiac
· 07-23 08:46
vẫn không thể thoát khỏi số phận xác minh tập trung
Xem bản gốcTrả lời0
LiquidatedTwice
· 07-20 10:02
Thật tuyệt vời, dự án cũ với hoạt động mới.
Xem bản gốcTrả lời0
RugPullAlertBot
· 07-20 10:02
Lại một khái niệm Mật mã học nữa đã lướt qua.
Xem bản gốcTrả lời0
0xLuckbox
· 07-20 09:51
Lại là một thao tác tiêu tốn gas
Xem bản gốcTrả lời0
MEV_Whisperer
· 07-20 09:51
Danh tính xác minh就是个坑
Xem bản gốcTrả lời0
CryptoTherapist
· 07-20 09:43
hãy giải quyết sự kháng cự tâm lý đối với xác minh web3 thật lòng mà nói... vấn đề tin tưởng cổ điển
SIWE: Nâng cao xác thực danh tính Dapp dễ dàng thực hiện đăng nhập Ethereum
SIWE: Tăng cường khả năng xác thực danh tính Dapp của bạn
SIWE (Đăng nhập bằng Ethereum) là một phương pháp xác thực danh tính người dùng trên Ethereum. Nó tương tự như việc khởi tạo giao dịch, thông qua chữ ký để chứng minh quyền kiểm soát ví của người dùng. Hiện tại, hầu hết các plugin ví đều hỗ trợ phương pháp xác thực đơn giản này, chỉ cần ký thông tin trong plugin.
Bài viết này chủ yếu thảo luận về các tình huống ký trên Ethereum, không đề cập đến các chuỗi công cộng khác như Solana, SUI.
Khi nào cần sử dụng SIWE
Nếu Dapp của bạn có những yêu cầu sau, bạn có thể xem xét việc sử dụng SIWE:
Đối với Dapp( chủ yếu là truy vấn như etherscan), thì không nhất thiết phải có SIWE.
Mặc dù việc kết nối ví trên Dapp dường như đã chứng minh danh tính người dùng, nhưng điều này chỉ hiệu quả ở 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ỉ 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".
Nguyên lý và quy trình của SIWE
Quy trình SIWE có thể được tóm tắt thành ba bước: kết nối ví - ký - nhận danh tính.
Kết nối ví
Đây là thao tác Web3 phổ biến, kết nối ví người dùng trong Dapp thông qua plugin ví.
chữ ký
Các bước ký của SIWE bao gồm lấy giá trị Nonce, ký ví và kiểm tra chữ ký phía sau.
Đầu tiên, cần gọi API backend để lấy giá trị Nonce. Backend sẽ tạo Nonce ngẫu nhiên và liên kết với địa chỉ hiện tại.
Sau khi lấy Nonce từ phía trước, xây dựng nội dung chữ ký, bao gồm Nonce, tên miền, ID chuỗi và các thông tin khác, sau đó sử dụng phương pháp mà ví cung cấp để thực hiện chữ ký.
Cuối cùng, gửi chữ ký đến backend để xác minh.
Lấy danh tính
Sau khi xác minh chữ ký ở phía backend thành công, sẽ trả về danh tính người dùng ( như JWT). Phía frontend sẽ mang theo địa chỉ và danh tính trong các yêu cầu tiếp theo, để chứng minh quyền sở hữu ví.
Hướng dẫn thực hành
Dưới đây là các bước cơ bản để thực hiện SIWE bằng Next.js:
Cụ thể, mã nguồn có thể tham khảo từ văn bản gốc.
Đề xuất tối ưu hóa
Sử dụng dịch vụ nút chuyên dụng ( như ZAN) có thể cải thiện đáng kể thời gian phản hồi của xác thực SIWE. Thay thế RPC mặc định bằng địa chỉ RPC của dịch vụ nút hiệu suất cao có thể giảm thời gian xác thực đáng kể và tăng tốc độ giao diện.