如果我们使用令牌,我们是不是需要会话

Posted

技术标签:

【中文标题】如果我们使用令牌,我们是不是需要会话【英文标题】:Do we need sessions if we are using tokens如果我们使用令牌,我们是否需要会话 【发布时间】:2021-02-22 00:26:52 【问题描述】:

我对会话和 JWT 令牌都有基本的了解。是否存在会话必须且不能被 JWT 令牌替换的情况。解释会很有帮助。

【问题讨论】:

【参考方案1】:

如果数据是机密的,JWT 不适合,因为任何人都可以解码存储在 JWT 中的信息(但不能修改它)。而使用session,数据存储在服务器端,客户端和服务器之间只传递sessionId,没有人可以窃取会话数据。

【讨论】:

【参考方案2】:

当您想在不使用任何存储机制的情况下向用户提供注销功能时,您可以使用会话。

如果您想通过 JWT 向用户提供注销功能,您必须将 JWT 令牌存储在某处,以便在用户点击注销按钮时将其删除。

此外,当您关闭窗口时,您的会话将过期,但在 JWT 的情况下不会发生这种情况

【讨论】:

以上是关于如果我们使用令牌,我们是不是需要会话的主要内容,如果未能解决你的问题,请参考以下文章

如果我使用基于令牌的身份验证,我还需要会话吗

从令牌创建 Django 会话

FastAPI 中的会话

当我们有客户端会话时,为啥我们需要 JWT?

JWT 是不是总是需要访问令牌和刷新令牌?

为啥要记住我的令牌?