Metamask登录方式集成

Metamask登录

https://www.toptal.com/ethereum/one-click-login-flows-a-metamask-tutorial#how-the-login-flow-works
参考: https://zh.socialgekon.com/one-click-login-with-blockchain

后端需要在用户表中增加addressnonce字段。兼容其他登录方式,如邮件、facebook登录

字段 类型 说明
address varchar(42) 账户地址, 唯一, 例如:0xf513e4e5Ded9B510780D016c482fC158209DE9AA
nonce varchar(100) 随机数,每次登录都随机生成,且不会重复, 例如签名消息:1_0xf513e4e5ded9b510780d016c482fc158209de9aa_29933_1672989603538

在这里插入图片描述

  • 后端验签,可以从签名中提取出签名对应的公钥,并获得相应的地址,因此,可以确定该签名是用该地址的私钥签名的,而不是用其他私钥签名的。

    从签名中提取地址示例: https://github.com/amaurym/login-with-metamask-demo/blob/16170509d983954cb8fbc8e55ba70e028d8d692b/packages/backend/src/services/auth/controller.ts#L48

猜你喜欢

转载自blog.csdn.net/yqq1997/article/details/132192477