JWT(JSONWeb令牌)自动延长到期时间
我想对我们的新RESTAPI实现基于JWT的身份验证。但是,由于到期是在令牌中设置的,那么是否可以自动延长它呢?如果用户在这段时间内积极使用应用程序,我不希望用户在每隔X分钟注册一次。那将是一个巨大的UX失败。
但是延长过期会创建一个新令牌(旧令牌在过期之前仍然有效)。在每次请求之后生成一个新的令牌对我来说听起来很傻。当多个令牌同时有效时,听起来就像是一个安全问题。当然,我可以使用黑名单使旧的已使用的标记失效,但是我需要存储令牌。JWT的好处之一是没有存储。
我发现Auth0是如何解决这个问题的。它们不仅使用JWT令牌,还使用刷新令牌:https://docs.auth0.com/refresh-token
但是,要实现这个(没有Auth0),我需要存储刷新令牌并维护它们的过期。那麽,真正的好处是甚麽呢?为什么不只有一个令牌(而不是JWT)并将过期保存在服务器上呢?
还有其他选择吗?是否使用JWT不适合此场景?