JWT在CRUD应用程序中有意义吗



例如,如果我在确认给定用户的授权后,在同一个端点中调用数据库,为什么我要使用JWT而不是SessionID?在这种情况下,这对我来说毫无意义,有点失去了目的。

我知道JWT背后的想法是消除对数据库的调用,从而使其更具可扩展性和效率。但若在那个之后我调用数据库,那个又有什么意义呢?

使用会话ID,我将有两个对数据库的调用,而不是JWT的加密函数计算,然后调用数据库。

那么JWT相对于Session ID的优势在哪里呢?或者,归根结底,CRUD端点,或者仅仅是和数据库对话的端点,并不是JWT大放异彩的地方,我就在这里吗?

JWT与使用会话相比没有任何好处,JWT提供了一种在客户端上维护会话状态的方法,而不是在服务器上。

对于服务器端会话,您必须将会话标识符存储在数据库中,或者将其保存在内存中,并确保客户端始终访问同一服务器。这两者都有缺点。在数据库(或其他集中式存储(的情况下,这将成为一个瓶颈,也是一件需要维护的事情——本质上是对每个请求进行额外的查询。与客户端的会话意味着您可以消除对服务器端会话的依赖,但它也带来了一系列挑战。

相关内容

最新更新