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登录

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

在这里插入图片描述

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/59716.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

06-5_Qt 5.9 C++开发指南_Splash 与登录窗口(MouseEvent鼠标事件;注册表;加密)

文章目录 1. 实例功能概述2. 对话框界面设计和类定义3. QDIgLogin 类功能实现3.1 构造函数里的初始化3.2 应用程序设置的存储3.3 字符串加密3.4 用户名和密码输入判断3.5 窗口拖动功能的实现 4. Splash 登录窗口的使用5. 框架及源码5.1 可视化UI设计5.2 qdlglogin.h5.3 qdlglog…

Java练习

添加你喜欢的歌手以及你喜欢他唱过的歌曲,并遍历 package Test0726;import java.util.ArrayList; import java.util.HashMap; import java.util.*;public class SingerTest {public static void main(String[] args) {HashMap singers new HashMap();String singe…

zookeeperAPI操作与写数据原理

要执行API操作需要在idea中创建maven项目 (改成自己的阿里仓库)导入特定依赖 添加日志文件 上边操作做成后就可以进行一些API的实现了 目录 导入maven依赖: 创建日志文件: 创建API客户端: (1&#xff09…

代理模式(C++)

定义 为其他对象提供一种代理以控制(隔离,使用接口)对这个对象的访问。。 应用场景 在面向对象系统中,有些对象由于某种原因(比如对象创建的开销很大,或者某些操作需要安全控制,或者需要进程外的访问等)直接访问会给使用者、或…

ffmpeg工具实用命令

说明:ffmpeg是一款非常好用的媒体操作工具,包含了许多对于视频、音频的操作,有些视频播放器,实际上就是套了一个ffmpeg的壳子。本文介绍ffmpeg的使用以及一些较为实用的命令。 安装 ffmpeg是命令行操作的,不需要安装…

《网络是怎样连接的》(三)

《网络是怎样连接的》(二.2)_qq_38480311的博客-CSDN博客 本文主要取材于 《网络是怎样连接的》 第三章。 简述:本文主要内容是解释 通过网线传输出去的包是如何经过集线器、交换机和路由器等网络设备,最终进入互联网的。 信号…

修改IDEA的idea.vmoptions参数导致IDEA无法打开(ReservedCodeCacheSize)

事发原因 Maven导依赖的时候OOM,因此怀疑是内存太小,尝试修改idea.vmoptions的参数,然后发现IDEA重启后打不开了,卸载重装后也无法打开。。。 实际上如果导包爆出OOM的话应该调整下图参数,不过这都是后话了 解决思路…

BLIP2

BLIP2的任务是基于已有的固定参数的图像encoder和语言大模型(LLM)搭建一个具有图像理解能力的图文模型,输入是图像和文本,输出是文本。 BLIP2基于Q-Former结构,如下图所示。Q-Former包含图像transformer和文本transfo…

20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)

20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX) 2023/8/9 19:02 由于喜欢看纪录片等外文视频,通过剪映/PR2023/AUTOSUB识别字幕之后,可以通过google翻译识别为简体中文的DOCX文档。 DOCX文档转换为TXT文档之…

后端进阶之路——万字总结Spring Security与数据库集成实践(五)

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★前端炫酷代码分享 ★ ★ uniapp-从构建到提升★ ★ 从0到英雄,vue成神之路★ ★ 解决算法,一个专栏就够了★ ★ 架…

Vue3弹出确认(Popconfirm)

效果如下图:在线预览 APIs 参数说明类型默认值必传title确认框的标题string | slot‘’falsedescription确认框的内容描述string | slot‘’falsecontent展示的文本string | slot‘’falseicon自定义弹出确认框 Icon 图标string | slot‘’falsemaxWidth弹出确认框…

QT QLCDNumber 使用详解

本文详细的介绍了QLCDNumber控件的各种操作,例如:新建界面、源文件、设置显示位数、设置进制、设置外观、设置小数点、设置溢出、显示事件、其它文章等等操作。 实际开发中,一个界面上可能包含十几个控件,手动调整它们的位置既费时…