React App中的Jwt授权无需在本地存储中存储令牌

时间:2019-10-08 05:48:31

标签: node.js reactjs session jwt authorization

实际上,我将在我的第一个react应用程序中实现jwt授权,并且我阅读了许多文章,所有这些文章都建议将令牌存储在本地存储中,由于令牌可见,因此我不知道它的安全性。所以我想到了两个解决方案,这显然不是我在这里问问题的最佳解决方案 解 1.在每个API请求的反应端都生成jwt令牌,但是为此,我必须在客户端使用密钥,这显然是暴露密钥的BAD IDEA。 2.有两个Express应用程序一个运行react应用程序,一个运行api,我的react app的api调用将到达react express端,在该端我将生成令牌并使用令牌访问实际的api,我对此一无所知令人困惑的希望你们能理解我要解释的内容。

这就是我的想法,我知道这两种解决方案都不是一个好的解决方案,因此,如果有人建议我您如何在您的应用程序中进行授权,这将非常有帮助

1 个答案:

答案 0 :(得分:0)

  1. 的确,公开密钥不是一个好主意

  2. 为什么要为此使用多个Express应用程序?您可以直接在“反应式快递”应用中进行身份验证

This是有关React,Express和JWT的精彩文章

关于将JWT存储在浏览器中(您最关心的问题),没有明确的答案。 article解释了存储在Cookie或本地/会话存储中的好处和坏处。但是,您还需要将其存储在浏览器中,因为您需要随每个请求一起发送它。

可见的令牌不一定是安全线程。原理是,即使有人拥有它,也不能对其进行操作(例如,更改到期日期)。