Solidity

帶有 JWT 身份驗證的 Infura

  • September 19, 2021

我正在使用 wallet connect 一個 Open 協議,用於通過 web3 modal sdk 將 Wallets 連接到 Dapps。錢包連接需要一個 infura 密鑰。由於錢包連接是在 borwser 上執行的,因此它會在前端公開 infura 密鑰。但是 infura 提供了一種使用 jwt 身份驗證發送請求的方法。我如何將它與錢包連接集成?

    walletconnect: {
      package: WalletConnectProvider,
      options: {
   
        infuraId: 
                  "f081axxxxxx9891818968bda7e4f6"
                  
      }
     ```

為此,您需要自己驗證使用者身份。向他們提供要通過 infura 授權的憑據“JWT”。對使用者進行身份驗證是在後端完成的。因為一種或另一種方式,您需要儲存用於生成每個使用者密鑰的密鑰。這就是 Infura 不處理私鑰的原因。

你可以在這裡讀到它;

https://infura.io/docs/ethereum#section/Project-Security/Securing-With-JWTs

https://www.ibm.com/docs/da/order-management?topic=SSGTJF/configuration/t_GeneratingJWTToken.html

選項?

  1. 您不時更改密鑰。
  2. 您自己同步一個節點並讓您的 dApp 自由訪問它。
  3. 您建構了一個集中式後端並支付維護費用以儲存免費的 api 密鑰?
  4. 您不必擔心太多,因為無論如何您都可以隨時切換到元遮罩。

引用自:https://ethereum.stackexchange.com/questions/108097