原作者:MiroslawShpak
标题:Youdon’tneedJWTanymore
编译:ChenZhou
编者注:JWT是JSONwebToken的简称,本质是一个token,是一种紧凑的URL安全方法,用于在网络通信的双方之间传递。以下为原文。
一个使用签名信息用web3验证用户的简单方法
以太坊登录很快就会成为用户标准,不再需要密码,这已经不是什么新鲜事了。尽管如此,dApp开发仍然是一个相当新的赛道,其开发的许多标准仍在设定之中。
Lens Protocol正式发布V2版本:7月17日消息,Web3社交协议Lens Protocol于以太坊巴黎EthCC大会期间正式发布V2版本,以开放和可组合、利益共享、信任和安全为主,用户现在可以直接在Lens出版物(publications)中执行外部智能合约操作,同时在Lens V2中加入了与社交媒体内的智能合约进行交互的能力。
新增第三方合约操作权限:包括添加白名单功能、在Sound铸造NFT(以太坊主网)、在Opensea铸造NFT(Polygon)等。新增资产管理功能:包括委派操作到任何钱包,即用户可以使用其他钱包执行操作,而不仅限于单一钱包;将个人资料直接存储在硬件钱包上,并可以在另一个钱包中使用;新版本支持将DAO或社区个人资料存储在多签名钱包上,并可以从一个或多个地址使用。这样可以确保个人资料的安全性和访问控制,并允许多个地址与其关联等。[2023/7/17 11:00:10]
现在,所有的开发者都在延续用传统做法编写dApp,本能地使用相同的JWT进行认证。我这里提出一个稍微不同的方法。
Cardano钱包将与以太坊智能合约无缝集成:金色财经报道,Milkomeda首席技术官兼联合创始人Sebastien Guillemot公布了区块链互操作性协议的一项新功能:包装智能合约(wrapped smart contracts)。该功能将允许开发人员直接从任何Cardano钱包(例如Flint钱包)调用以太坊智能合约编程语言Solidity,不需要用户了解Metamask或其他EVM钱包,实现无缝集成。[2023/2/17 12:12:04]
我自己也开始使用JWT开发dApp。从第一个项目开始,我就觉得认证总是变得很棘手,而且在这个过程中一定有些多余的东西。在几个项目之后,我意识到JWT本身就是多余的。让我解释一下原因:
加密货币总市值回升至8800亿美元上方,比特币市值占比达37.51%:金色财经报道,据Coingecko数据显示,当前全网加密货币总市值回升至884,167,581,698美元,比特币市值占比达37.51%,24小时涨幅达2.9%。过去24小时成交量为36,881,478,718美元。[2023/1/9 11:02:04]
这张图显示了我在前几个项目中是如何进行认证的。这里的方案几乎完全复制了JWT的标准程序,唯一的一点是,用户发送的不是登录和密码,而是签名。
为什么我们需要得到JWT呢?毕竟,即使没有它,你也可以通过从用户的签名中获取地址来可靠地识别身份。
下面是如何简化的:
使用web3-token的认证流程
用户依旧会产生一个签名,但里面有了一个过期日期,所以即便攻击者得到了这个签名,也持续不了多久。此外,签名被放在标准的授权头中,并在服务器上通过获取用户的地址和在数据库中找到用户来处理。这就是全部。你不需要在服务器上不断地更新JWT的加密密钥,所以通常来说,服务器承担了绝大部分职责。
为了进一步简化这一流程,我制作了web3-token模块。要安装它,请使用以下命令。
1$npmiweb3-token
这个模块既可以用在服务器上,也可以用在客户端。
让我们看一个例子,从客户端开始:
调用.sign方法后,你会看到与此类似的东西。
MetaMask提醒去签署令牌
正如你所看到的,该信息对用户来说是完全透明的,因为他们必须看到他们正在签署的东西。因此,我决定不使用JSON结构来提高可读性,而是使用与HTTP头相同的结构。
在消息的正文中,我们可以看到令牌的版本和过期日期。
接下来,这里是后端对这个令牌的处理。
这很简单,只有一行,模块会处理所有加密问题。我们则可以从签名中获得用户的地址,并使用这个地址在数据库中找到他们。举个例子,然后你就可以通过他的地址授予这个用户一个NFT。
最终我们得到了一个非常方便的无状态用户认证方法,这也是混合型dApp的理想选择。唯一的缺点是,它很难在Postman中测试。
本文来自比推Bitpush.News,星球日报经授权转载。
如果要成为一家“元宇宙公司”,Facebook将需要大量的人才。10月18日报道,Facebook将在五年内于欧盟境内增加10000个“高技能”工作岗位,从而帮助构建自己的元宇宙愿景.
1900/1/1 0:00:00DAOrayakiDAO研究奖金池:资助地址:0xCd7da526f5C943126fa9E6f63b7774fA89E88d71投票进展:DAOCommittee3/7赏金总量:70?USDC.
1900/1/1 0:00:00链闻消息,健身元宇宙项目OliveX宣布完成170万美元融资,AnimocaBrands领投,GBVCapital、DoublePeakGroup、SkyVisionCapital、Formle.
1900/1/1 0:00:00像素肖像游戏CryptoPunks是网络上最受欢迎的NFT项目之一,仅次于区块链游戏AxieInfinity、NBA球员卡收藏品NBATopShot.
1900/1/1 0:00:00链闻消息,据CoinDesk报道,区块链分析公司ComplyAdvantage与区块链分析公司Elliptic合作,加强ComplyAdvantage的反能力.
1900/1/1 0:00:00据Globenewswire消息,ExtremeVehicleBatteryTechnologiesCorp宣布它已签订股份交换协议以收购CryptoPlugTechnologies.
1900/1/1 0:00:00