如何实现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库来实现。注

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UniApp是一个基于Vue.js的跨平台应用开发框架,可以用于开发iOS、Android、H5、小程序等多个平台的应用程序。而MetaMask是一个用于与以太坊区块链交互的浏览器插件。在UniApp中使用MetaMask插件可以实现与以太坊区块链的交互,比如进行以太币的转账、查询以太坊上的智能合约等操作。 在UniApp中使用MetaMask插件需要进行一些步骤。首先,要检测用户是否安装了MetaMask插件,可以使用detectEthereumProvider()函数来进行检测。如果检测到安装了MetaMask插件,可以调用startApp()函数来初始化应用程序。在startApp()函数中,会判断当前提供者是否为window.ethereum,如果不是则提示用户安装了多个钱包,加载失败。如果是window.ethereum提供的提供者,则进行登录操作。 需要注意的是,虽然在这个过程中会使用到连接到以太坊区块链的工具MetaMask,但实际上这个登录过程并不需要区块链,只需要MetaMask的加密功能。但由于MetaMask的广泛应用,现在是介绍此登录流程的好时机。 所以,在UniApp中使用MetaMask插件可以实现与以太坊区块链的交互,开发者可以根据需求使用MetaMask插件进行以太币的转账、查询智能合约等操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [uniapp连接MetaMask钱包插件](https://blog.csdn.net/qq_47381208/article/details/127221503)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [第二十九课 如何实现MetaMask签名授权后DAPP一键登录功能?](https://blog.csdn.net/wangdenghui2005/article/details/83450493)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值