【问题标题】:where can I store jwt token in localStorage?我在哪里可以将 jwt 令牌存储在 localStorage 中?
【发布时间】:2020-09-08 03:41:18
【问题描述】:

我想将 jwt 令牌存储在 localStorage 中,然后将其发送回服务器,并以 express 形式发送标头,我在 Visual Studio 和 Chrome 浏览器上工作。 只是为了本地存储,我在网上看到这些说明可以存储令牌,但我不知道我将它放在哪里? 我可以在哪里将令牌存储在本地存储中,在任何地方? ,我必须在 Chrom 或 Terminal 中或在哪里编写此说明吗?

 axios.post('http://yourendpoint',data,{ headers: { 
         Authorization:localStorage.getItem('jwtToken') } })
        .then(response=> console.log(response))
        .catch(error => console.log(error));
  };

简而言之,我想存储令牌,但我不知道在哪里以及如何?。

【问题讨论】:

    标签: express jwt


    【解决方案1】:

    如果您需要在 chrome 浏览器中手动存储 JWT 令牌,本地存储。您可以按照以下步骤操作。

    • 首先,进入 chrome 开发者工具 (Ctrl+Shift+i)
    • 然后转到Application 标签。
    • 在存储下,您可以找到Local Storage 部分。
    • 然后选择您的站点URL,它将弹出所有当前可用的本地存储对象(请确保选择正确的站点URL)。
    • 然后通过添加“key”和“token”来添加一个新对象

    如果需要通过代码将token添加到本地存储,可以通过以下方法添加。

    localStorage.setItem('key','your token');
    

    【讨论】:

    • @NourGeorge,您可以使用本地存储 API 的 getItem 函数并传递您在存储时使用的相同密钥。这个的输出应该是一样的。基本上,您需要在进行 api 调用时从本地存储中检索令牌,并且您需要将此令牌添加到授权标头中作为承载
    • @NourGeorge 您可以简单地打开 chrome 开发人员工具并转到“控制台”选项卡,然后输入 localStorage.getItem('key'); 它会返回您的令牌。这样您就可以验证您的令牌是否正确存储。 (请务必在移动到您需要存储令牌的相应站点后打开开发者工具。)
    【解决方案2】:

    假设您有一个类似“/auth”的端点来验证用户身份。在这种情况下,您可以执行以下操作:

     axios.post('http://myapi/auth', data)
         .then(res => localStorage.setItem('jwt', res.data.token))
         .catch(error => console.log(error))
    

    然后,您将可以使用.getItem() 方法访问该令牌:

    const token = localStorage.getItem('jwt')
    

    如果您想更好地了解它的工作原理,您应该继续阅读 localStorage API 文档。
    更进一步,您还可以了解更多关于the difference between localStorage, sessionStorage and Cookie的信息。

    【讨论】:

      猜你喜欢
      • 2016-03-15
      • 2020-08-22
      • 2019-04-25
      • 2020-11-22
      • 2018-11-24
      • 2021-03-12
      • 2021-05-08
      • 2019-02-06
      • 2018-07-17
      相关资源
      最近更新 更多