JWT身份验证及其替代方案,可实现Web应用程序后端的RESTfulness

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

在我的公司,我们正在构建一个Web应用程序,而大多数实际问题是选择一个身份验证解决方案。我考虑了三种最常用的方式来维护与经过身份验证的用户的会话:无状态JWT(所有会话数据在其有效负载中保存JWT令牌),有状态JWT(令牌仅用于验证请求,并且在其有效负载中它具有会话数据到会话数据记录在服务器上)和存储在cookie中的传统会话ID,这需要额外检查服务器中的匹配ID。

因为我想构建这个应用程序RESTful,只有第一种方式似乎对我来说。这样服务器就不需要保持任何状态。

我的第一个问题是:将所有会话数据存储在令牌有效载荷中是否可以(当然,这些数据并不大,它们不应该是秘密,因此不需要安全性)。

此外,我也将实施注销逻辑,我知道,黑名单代币,在我看来,我认为,最好的解决方案也会破坏无国籍状态。您是否知道实现注销逻辑的任何其他方法,IMMEDIATELY使JWT令牌无效?

谢谢您的回答。

编辑:如果失效,我正在考虑发送一个更新的令牌,其中包含一个告诉“im invalidated token”或过期的过期日期的标志。此解决方案仅适用于“好孩子”用户。黑客将保留以前仍然有效的令牌。

rest session authentication cookies jwt
1个回答
0
投票

使用JWT注销通过删除令牌客户端来工作。像这样。

function removeToken() {
  localStorage.removeItem("jwt-token");
}

没有令牌,用户将被注销。所以我认为这是立即的?

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