【发布时间】:2021-09-30 19:22:34
【问题描述】:
管理员用户如何撤销用户的访问令牌和刷新令牌?在 Oauth2 中使用 JWT 时。是否建议将令牌存储在数据库中?
【问题讨论】:
标签: spring-boot oauth-2.0 jwt
管理员用户如何撤销用户的访问令牌和刷新令牌?在 Oauth2 中使用 JWT 时。是否建议将令牌存储在数据库中?
【问题讨论】:
标签: spring-boot oauth-2.0 jwt
如果您希望能够撤销令牌,那么除了在数据库中保留一些数据之外别无他法。您可以保留具体的令牌,并将它们标记为已撤销,直到它们过期,或者您可以保留一个带有 clientID/userID 和时间戳的条目,并且在给定的时间戳之前不接受颁发给该客户端/用户的令牌。
如果您希望能够撤销访问令牌,那么您必须记住,所有使用该令牌的 API 都必须调用该数据库来检查令牌是否已被撤销。拥有短暂的访问令牌(15 甚至 5 分钟)通常更容易,并且只处理撤销刷新令牌,因为 RT 仅在您的授权服务器中使用。
【讨论】: