在没有 OAuth2 的情况下刷新 JWT
Posted
技术标签:
【中文标题】在没有 OAuth2 的情况下刷新 JWT【英文标题】:Refresh JWT without OAuth2 【发布时间】:2020-01-14 08:47:54 【问题描述】:我在我的 Spring Boot 应用程序和 Spring Security 中使用 JWT 进行身份验证。问题是我无法在文件 application.properties 中声明的 jwt.expiration 时间之后刷新 JWT 令牌,因此用户在 30min 后注销。我需要 OAuth2 实现还是有其他快速而简单的方法来解决这个问题?
【问题讨论】:
【参考方案1】:这是一个相当广泛的问题,但我会尽力为您指明正确的方向。
刷新令牌是授权服务器的业务。因此,您的应用程序需要与其中之一进行对话才能更新令牌。
我会邀请您阅读OAuth 2.0 以了解续订是如何发生的。具体来说,他们需要来自该授权服务器的refresh_token grant。
根据您的描述,您可能是 OAuth 2.0 客户端应用程序,在这种情况下,您最感兴趣的是 Spring Security's OAuth 2.0 Login 和 OAuth 2.0 Client 支持。
另外,我知道你没有问这个,但我也劝阻你不要寻求“快速而肮脏”的解决方案。花点时间了解安全形势,它会在以后为您带来红利。
【讨论】:
另外,我发现这个答案虽然较旧,但仍然与对话相关:***.com/questions/26739167/…以上是关于在没有 OAuth2 的情况下刷新 JWT的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot OAuth2 资源服务器:库如何在没有公钥的情况下验证 JWT 令牌?