JWT 身份验证过期

Expiry in JWT authentication

我正在开发一个 angular 应用程序,该应用程序当前使用 cookie 和会话进行身份验证。但是我想使用 jwt 身份验证。

而且我怀疑如果该令牌被盗,那么完整的身份验证也会被盗?

如果没有到期日,是否存在风险?

因为如果我登录我的计算机,那么令牌将始终驻留在浏览器的本地存储中,如果有人从我的计算机窃取了该令牌,他们就可以访问我的帐户。那么如何进行安全认证呢

请帮助我了解风险和它的工作方式。

谢谢

是的,在没有 exp(过期时间)声明的情况下,如果您的令牌被盗,您将遇到严重的安全问题。 如果设置了 jti(令牌 ID)声明,观众可以减轻这种情况,但需要一个存储(例如数据库和文件系统...),所有这些都被撤销 jti

根据 OpenID Connect Core Specification,ID 令牌必须有 expusually no more than a few minutes。 我认为所有使用 JWT 的认证提供者都应该遵循这个要求。