将JWT令牌存储在React中

时间:2019-09-16 19:38:01

标签: reactjs jwt

我编写了一个React应用,该应用使用REST API来处理其请求。一切顺利,但是由于所有端点都受到保护,因此它们需要JWT令牌进行身份验证。

我阅读了很多有关如何存储实际令牌的信息-我发现不建议使用localStorage,因为任何Javascript都可以访问它。

我最喜欢的计划是每当服务器为页面提供服务时就渲染ID令牌(例如,像CSRF令牌一样,ID令牌包含在渲染的页面中,然后由React存储在状态内),但是,所有Javascript代码都是是静态的,并且不是由服务器呈现的,因此无法在JS文件本身内部呈现令牌。

我考虑过将令牌呈现给div并告诉React从那里获取它-但这也感觉很糟糕,因为div本身仍对用户可见并且可以通过JS访问。 另一个解决方案是令牌端点,其中用户使用存储其会话的会话令牌进行身份验证(该会话已加密并且无法通过Javascript访问)以获取令牌,然后由React使用。

我想问一下是否还有其他方法可以解决这个问题,或者令牌端点通常是个坏主意还是有不利之处(CSRF?)。

非常感谢

0 个答案:

没有答案