lemooljiang avatar

MetaMask签名验证登录,这很Web3

lemooljiang

Published: 31 Oct 2025 › Updated: 31 Oct 2025

MetaMask签名验证登录,这很Web3

最近在为AI·Joe做链上方面的集成,包括MetaMask登录,USDT充值这些。

x402协议挺火的,也标示着一个新的赛道出现了。但在这之前,可以先集成链上登录和充值这些功能。

MetaMask登录

MetaMask登录简单来讲就是用签名验证来进行登录,这比用户名和密码来得省事些。当然更大的好处是这种即插即用的功能非常Web3!以前用户名注册一般都要数分钟,而用MetaMask登录只需数秒钟即可完成,非常直接高效。

一般流程

用户先连接MetaMask钱包,向后台发送address, 获取nonce。 本地生成签名后发送后台验证,得到token,完成登录。

签名和验证消息

import { ethers } from 'ethers'

// 签名消息(前端)
const provider = new ethers.BrowserProvider(window.ethereum)
const signer = await provider.getSigner()
let nonce = await getNonce('/getnonce', option) //从后端获取
let msg = `I am signing my one-time nonce: ${nonce}`
let signature = await signer.signMessage(msg)

// 验证签名(后端)
let nonce = Math.floor(Math.random() * 100000000)
let msg = `I am signing my one-time nonce: ${nonce}` //和前端保持一样的消息
let signature = "0xcc46c4xxxxx" //前端传过来的值
const recoveredAddress = ethers.verifyMessage(msg, signature)
console.log("恢复的地址:", recoveredAddress) 

metamask.jpg

登录界面如上图所示,前端签名后传给后端验证,如果正确则是登录成功!后面采用JWT方法来使用,或是其它都是可以的。

Leave MetaMask签名验证登录,这很Web3 to:

Written by

Designer , Poet , Technology enthusiasts

Read more #cn posts


Best Posts From lemooljiang

We have not curated any of lemooljiang's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From lemooljiang