原作者:MiroslawShpak
标题:Youdon’tneedJWTanymore
编译:ChenZhou
编者注:JWT是JSONwebToken的简称,本质是一个token,是一种紧凑的URL安全方法,用于在网络通信的双方之间传递。以下为原文。
一个使用签名信息用web3验证用户的简单方法
以太坊登录很快就会成为用户标准,不再需要密码,这已经不是什么新鲜事了。尽管如此,dApp开发仍然是一个相当新的赛道,其开发的许多标准仍在设定之中。
桥水基金创始人暗示未抛售比特币:金色财经报道,桥水基金创始人Ray Dalio在接受Chris Williamson播客最新采访时表示,虽然他更喜欢黄金,但比特币能够提供黄金无法提供的东西,比如交易追踪等。Ray Dalio同意加密货币投资会对心理健康产生负面影响,并称自己“虽然不看重比特币,目前仍然持有一点点”,暗示未在熊市期间抛售,不过鉴于比特币极端波动性,他有意将比特币分配保持在较低水平,以限制下行风险。[2023/4/27 14:29:04]
现在,所有的开发者都在延续用传统做法编写dApp,本能地使用相同的JWT进行认证。我这里提出一个稍微不同的方法。
Yield Protocol因Euler攻击事件已关闭主网借贷相关操作:3月13日消息,Yield Protocol 因 Euler 攻击事件已关闭主网借贷相关操作,Yield 的主网流动性池建立在 Euler 上,Euler 暂停了主网合约,目前 Yield 已经下架应用程序,并在官网 UI 中关闭借贷入口。[2023/3/13 13:01:37]
我自己也开始使用JWT开发dApp。从第一个项目开始,我就觉得认证总是变得很棘手,而且在这个过程中一定有些多余的东西。在几个项目之后,我意识到JWT本身就是多余的。让我解释一下原因:
Solana链上合成资产协议Parcl上线测试网3.0版本:6月28日消息,据官方发推称,Solana链上合成资产协议Parcl宣布上线测试网3.0版本,测试网2.0结束以来,团队进行了几项改进,包括添加实时价格馈送等新功能。[2022/6/28 1:35:18]
这张图显示了我在前几个项目中是如何进行认证的。这里的方案几乎完全复制了JWT的标准程序,唯一的一点是,用户发送的不是登录和密码,而是签名。
为什么我们需要得到JWT呢?毕竟,即使没有它,你也可以通过从用户的签名中获取地址来可靠地识别身份。
下面是如何简化的:
使用web3-token的认证流程
用户依旧会产生一个签名,但里面有了一个过期日期,所以即便攻击者得到了这个签名,也持续不了多久。此外,签名被放在标准的授权头中,并在服务器上通过获取用户的地址和在数据库中找到用户来处理。这就是全部。你不需要在服务器上不断地更新JWT的加密密钥,所以通常来说,服务器承担了绝大部分职责。
为了进一步简化这一流程,我制作了web3-token模块。要安装它,请使用以下命令。
1$npmiweb3-token
这个模块既可以用在服务器上,也可以用在客户端。
让我们看一个例子,从客户端开始:
调用.sign方法后,你会看到与此类似的东西。
MetaMask提醒去签署令牌
正如你所看到的,该信息对用户来说是完全透明的,因为他们必须看到他们正在签署的东西。因此,我决定不使用JSON结构来提高可读性,而是使用与HTTP头相同的结构。
在消息的正文中,我们可以看到令牌的版本和过期日期。
接下来,这里是后端对这个令牌的处理。
这很简单,只有一行,模块会处理所有加密问题。我们则可以从签名中获得用户的地址,并使用这个地址在数据库中找到他们。举个例子,然后你就可以通过他的地址授予这个用户一个NFT。
最终我们得到了一个非常方便的无状态用户认证方法,这也是混合型dApp的理想选择。唯一的缺点是,它很难在Postman中测试。
本文来自比推Bitpush.News,星球日报经授权转载。
标签:KENTOKE比特币WEB3X Long Cardano Tokenfcntoken特比特币什么卖WEB3.0价格
親愛的用戶:全球奢侈時尚品牌JimmyChoo將在幣安NFT市場推出首個NFT系列。該系列將於東八區時間2021年10月20日19:00至2021年10月25日19:00上線.
1900/1/1 0:00:0010月19日消息,固定利率借贷协议ElementFinance宣布完成3200万美元融资,PolychainCapital领投,a16z、Republic、AdvancedBlockchain和Rarestone等机构.
1900/1/1 0:00:00EIP-1559于2021年8月5日上线,作为伦敦硬分叉的一部分,并没有发生任何假定的恐惧;由于矿工没有分叉以太坊并将EIP-1559作为分叉的一部分而导致的链分裂、价格暴跌.
1900/1/1 0:00:00一、项目简介 MoonRabbit是一种基于Substrate的分布式基础设施,支持在任何区块链之间进行任何类型的数据或数字资产传输,提供完全的互操作性和可扩展性。它允许任何人通过独特的功能启动自己的司法管辖区.
1900/1/1 0:00:00巴比特讯,10月22日,元宇宙项目OliveX宣布完成170万美元融资,AnimocaBrands领投.
1900/1/1 0:00:00尊敬的Orangex用户:为感谢新老用户大力支持,Orangex推出特别活动“520心动福利大派送,交易即送5.20USDT”.
1900/1/1 0:00:00