在Node JS中同时使用JWT和会话

问题描述 投票:1回答:1

阅读了许多关于JWT和Session的文章之后,我很确定我不应该在会话中使用JWT。

但是,是否有机会在同一应用程序中使用JWT和会话?如果是,如何,如果不是,那有什么替代方法?

编辑:经过数小时的挖掘,我对何时使用JWT和何时使用会话感到更加困惑。任何帮助表示赞赏。

node.js api security session jwt
1个回答
0
投票

我认为,除非应用程序非常简单,否则JWT的实现通常应该与非cookie会话堆叠在一起。

一些随机场景:

假设以下内容;一个Web应用程序正在使用JWT进行身份验证,并且该应用程序使管理员能够将任何客户端标记为非活动客户端(已阻止),因此应防止该客户端登录。

现在问题在于通过JWT进行身份验证;我们不知道该特定客户端是否被阻止。

为了解决此问题,我已经看到一些开发人员在每个请求上查询数据库。其他开发人员撤消了JWT,并发布了一个标记为非活动的新标记,但是如果动态标记过多,该怎么办?同样很难打到数据库也不明智。

结论JWT +会话:

一种简单的解决方案是为每个有效的JWT授予内存中会话并将用户所需的数据存储在其中,对用户数据的任何更改都应反映在用户存储的会话中。所有传入的请求都将得到JWT验证以及会话验证。

© www.soinside.com 2019 - 2024. All rights reserved.