如何实现MetaMask签名授权后DAPP一键登录功能?

image

1

摘要

网站太多,各种用户名/密码实在记不住。所以我们逐渐接受了BAT账号的授权登录功能。在以太坊DAPP应用中,也可以使用MetaMask实现授权后一键登录功能。MetaMask是去中心化钱包,授权信息不会如BAT中心一样存在被收集利用的问题。

本文从技术层面讲清楚原理,并结合代码说明如何实现。

2

授权一键式登录的利弊分析

我们往往被自己的密码难住,越来越抵制传统的电子邮件/密码注册流程。通过微信,QQ,支付宝,Facebook,Google或GitHub一键式社交登录功能可以省去记住密码或者密码泄露的而风险。当然,它也需要权衡利弊。

社交媒体登录集成的优点:

  • 没有更麻烦的填表。

  • 无需记住另一个用户名/密码对。

  • 整个过程需要几秒钟而不是几分钟。

社交媒体登录集成的缺点:

加密猫(https://www.cryptokitties.co/)游戏中,用户不需要输入用户名,密码就可以建立自己的账户体系,进行登录交易。

image

签名导入-cancel

本文介绍下这个方法的原理和代码实现,使用MetaMask扩展的一键式加密安全登录流程,所有数据都存储在我们自己的后端。我们称为“使用MetaMask登录”。

image

3

** 如何使用Metamask进行一键式登录流程**

一键式登录流程的基本思想是,通过使用私钥对一段数据进行签名,可以很容易地通过加密方式证明帐户的所有权。如果您设法签署由我们的后端生成的精确数据,那么后端将认为您是该钱包地址的所有者。因此,我们可以构建基于消息签名的身份验证机制,并将用户的钱包地址作为其标识符。

如果它看起来不太清楚,那就没问题了,因为我们会逐一解释它:

  • MetaMask浏览器扩展

  • 登录流程如何工作

  • 为什么登录流程有效

  • 让我们一起建立它

  • 今天就可以投入生产了

  • 移动设备的缺点

请注意,虽然我们将使用连接到以太坊区块链(https://www.toptal.com/ethereum)的工具(MetaMask,以太坊钱包地址),但此登录过程实际上并不需要区块链:它只需要其加密功能。话虽如此,随着MetaMask成为如此受欢迎的扩展(https://twitter.com/metamask_io/status/942816957920829440),现在似乎是介绍此登录流程的好时机。

4

MetaMask浏览器扩展

如果您已经知道MetaMask是什么,请跳过本节。

MetaMask(https://metamask.io/)是一个浏览器插件,可作为MetaMask Chrome扩展(https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn)或Firefox附加组件使用(https://addons.mozilla.org/en-US/firefox/addon/ether-metamask/)。它的核心是它作为以太坊钱包:通过安装它,您将可以访问一个独特的以太坊钱包地址,您可以使用它开始发送和接收以太币或ERC20通证。

但MetaMask不仅仅是以太坊钱包。作为浏览器扩展,它可以与您正在浏览的当前网页进行交互。它通过在您访问的每个网页中注入一个名为web3.js(https://github.com/ethereum/web3.js/)的JavaScript库来实现。注入后,w

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值