繁体   English   中英

成功登录后,用户将重定向到SPA加载的主页。 在JWT中使用会话cookie是个坏主意吗?

[英]after successful login the user is redirected to the home page where the SPA loads. Is using session cookie with JWT a bad idea?

我有一个express + postgres后端,并且我在使用FB-oauth的passport-facebook。

如果用户在/没有在本地存储中拥有有效令牌的情况下点击了我的应用,则他们将被带到/login

我的/login页面(向您显示熟悉的“继续使用Facebook”消息)是服务器渲染的(出于各种原因)。 单击此按钮后,我将验证用户是否存在并通过初始JWT向他们发送会话cookie,或者创建一个新用户并通过初始JWT向他们发送会话cookie。 在这两种情况下,成功条件都是将它们重定向到/并为SPA资产提供服务。

SPA要做的第一件事就是从会话cookie中获取JWT并将其放入本地存储,然后删除该cookie。

这是一种可怕的方法,还是在我的用例中有效?

您正在使用会话cookie作为在客户端上存储JWT的方法。 这意味着您将通过消耗服务器资源来创建一个服务器会话,该会话将一直保持打开状态直到过期

会话cookie无法从javascript读取,因此我想您向服务器提出了获取JWT的请求,对吗?

该过程似乎没有问题,但是我认为您可以通过使用带有set-cookie标头的常规cookie在响应中直接发送JWT来优化它,以对其进行优化。 Cookie将存储在客户端中,您可以直接访问它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM