原作者:MiroslawShpak
標題:Youdon’tneedJWTanymore
編譯:ChenZhou
編者注:JWT是JSONwebToken的簡稱,本質是一個token,是一種緊湊的URL安全方法,用于在網絡通信的雙方之間傳遞。以下為原文。
一個使用簽名信息用web3驗證用戶的簡單方法
以太坊登錄很快就會成為用戶標準,不再需要密碼,這已經不是什么新鮮事了。盡管如此,dApp開發仍然是一個相當新的賽道,其開發的許多標準仍在設定之中。
Alchemy Pay已支持土耳其用戶通過銀行轉賬購買加密貨幣:6月30日消息,加密貨幣支付提供商Alchemy Pay發文稱,已為土耳其所有主要銀行(包括Ziraat Bank、Turkiye Bankasi、Isbank等)提供支持,允許用戶通過銀行與當地法幣土耳其里拉(TRY)購買加密貨幣。[2023/6/30 22:10:40]
現在,所有的開發者都在延續用傳統做法編寫dApp,本能地使用相同的JWT進行認證。我這里提出一個稍微不同的方法。
Optimism:已更新版本的用戶需要回滾至以前版本的op-geth:金色財經報道,以太坊L2網絡Optimism發推稱,此前要求基礎設施提供商在Optimism Goerli硬分叉之前將op-geth更新到新版本,但現在已發現最新版本存在問題,目前正在更新代碼存儲庫以解決相關問題。對于已經更新了版本的基礎設施提供商,Optimism要求回滾到以前版本的op-geth,如果尚未更新則無需執行任何操作,Optimism將很快分享更新版本。
此外,Optimism表示已將此前更新版本的推文內容刪除,因為相關信息并不準確。[2023/3/8 12:49:21]
我自己也開始使用JWT開發dApp。從第一個項目開始,我就覺得認證總是變得很棘手,而且在這個過程中一定有些多余的東西。在幾個項目之后,我意識到JWT本身就是多余的。讓我解釋一下原因:
老撾CBDC概念驗證項目將使用柬埔寨首創的系統啟動:金色財經報道,日本金融軟件公司 Soramitsu 宣布與老撾人民民主共和國銀行支付系統部簽署諒解備忘錄,啟動老撾中央銀行數字貨幣 (CBDC) 的概念驗證項目。根據協議,老撾基普的數字形式稱為DLak,已于2月7日推出。根據一段解說視頻,央行向商業銀行提供DLak換取法幣,用戶從商業銀行用法幣換取DLak。用戶可以使用二維碼和應用程序從參與的賣家那里購買商品。[2023/2/8 11:53:51]
這張圖顯示了我在前幾個項目中是如何進行認證的。這里的方案幾乎完全復制了JWT的標準程序,唯一的一點是,用戶發送的不是登錄和密碼,而是簽名。
為什么我們需要得到JWT呢?畢竟,即使沒有它,你也可以通過從用戶的簽名中獲取地址來可靠地識別身份。
下面是如何簡化的:
使用web3-token的認證流程
用戶依舊會產生一個簽名,但里面有了一個過期日期,所以即便攻擊者得到了這個簽名,也持續不了多久。此外,簽名被放在標準的授權頭中,并在服務器上通過獲取用戶的地址和在數據庫中找到用戶來處理。這就是全部。你不需要在服務器上不斷地更新JWT的加密密鑰,所以通常來說,服務器承擔了絕大部分職責。
為了進一步簡化這一流程,我制作了web3-token模塊。要安裝它,請使用以下命令。
1$npmiweb3-token
這個模塊既可以用在服務器上,也可以用在客戶端。
讓我們看一個例子,從客戶端開始:
調用.sign方法后,你會看到與此類似的東西。
MetaMask提醒去簽署令牌
正如你所看到的,該信息對用戶來說是完全透明的,因為他們必須看到他們正在簽署的東西。因此,我決定不使用JSON結構來提高可讀性,而是使用與HTTP頭相同的結構。
在消息的正文中,我們可以看到令牌的版本和過期日期。
接下來,這里是后端對這個令牌的處理。
這很簡單,只有一行,模塊會處理所有加密問題。我們則可以從簽名中獲得用戶的地址,并使用這個地址在數據庫中找到他們。舉個例子,然后你就可以通過他的地址授予這個用戶一個NFT。
最終我們得到了一個非常方便的無狀態用戶認證方法,這也是混合型dApp的理想選擇。唯一的缺點是,它很難在Postman中測試。
本文來自比推Bitpush.News,星球日報經授權轉載。
Tags:OptimismOPTITIMMISOptimism BOBoptimus幣最新消息CRAZYTIMEPROMISE
鏈聞消息,GryffindorLabs旗下NFT社交訂閱平臺ShowMe完成種子融資,融資金額未披露.
1900/1/1 0:00:00尊敬的用戶:?????????????BKEXGlobal即將上線POLX,詳情如下:上線交易對:POLX/USDT幣種類型:BEP20?充值功能開放時間:已開放交易功能開放時間:2021年10.
1900/1/1 0:00:00鏈聞消息,比特幣和區塊鏈基礎設施公司Blockstream宣布完成第六批比特幣挖礦代幣BMN銷售,籌集資金1600萬美元,為BMN發行以來最大一筆,使BMN發行總數超過122個.
1900/1/1 0:00:00巴比特訊,10月21日,英國頂尖學府格拉斯哥大學的Moshan區塊鏈實驗室正式啟動。據悉,該實驗室是該大學JamesWatt工程學院和中國科技公司VictoryBenchHyperledger研.
1900/1/1 0:00:00一、項目簡介? Audius是一個由藝術家、開發者和聽眾組成的去中心化社區,其使命是讓每個人都可以自由地分享、貨幣化和收聽任何音頻.
1900/1/1 0:00:0010月25日,Odaily星球日報聯合DFG和Acala于上海舉辦「萬物增長——波卡生態主題見面會」.
1900/1/1 0:00:00