JWT 刷新令牌覆盖
JWT refresh token overriding
我在 JWT 场景中遇到问题。当用户通过 Web 应用程序登录系统时,我生成一个 JWT 访问令牌(JWT 身份验证)和一个自定义刷新令牌,并将刷新令牌保存在数据库中以供以后验证。但问题是,当同一用户通过移动应用程序登录时,它会替换数据库中的新刷新令牌,这会使之前存储在网络本地存储中的刷新令牌无效。
我想知道如何处理这个问题。我是否需要在数据库中为用户刷新令牌创建一个单独的 table 并检查它们,或者是否有其他更好的方法?
最好的方法是在单独的 table 中为每个用户保存多个刷新令牌,并为用户提供一个外键。这样你就可以拥有许多与用户关联的刷新令牌(以及关于每个刷新令牌的其他信息,例如到期日期),这也有助于实现撤销(在选择哪个令牌时你将有更多信息呈现给用户撤销)。
我在 JWT 场景中遇到问题。当用户通过 Web 应用程序登录系统时,我生成一个 JWT 访问令牌(JWT 身份验证)和一个自定义刷新令牌,并将刷新令牌保存在数据库中以供以后验证。但问题是,当同一用户通过移动应用程序登录时,它会替换数据库中的新刷新令牌,这会使之前存储在网络本地存储中的刷新令牌无效。 我想知道如何处理这个问题。我是否需要在数据库中为用户刷新令牌创建一个单独的 table 并检查它们,或者是否有其他更好的方法?
最好的方法是在单独的 table 中为每个用户保存多个刷新令牌,并为用户提供一个外键。这样你就可以拥有许多与用户关联的刷新令牌(以及关于每个刷新令牌的其他信息,例如到期日期),这也有助于实现撤销(在选择哪个令牌时你将有更多信息呈现给用户撤销)。