【问题标题】:Prevent Refresh Token From Being Created Multiple Times防止多次创建刷新令牌
【发布时间】:2020-10-13 01:24:31
【问题描述】:

我正在尝试防止多次创建刷新令牌。

我有一个登录端点,http://localhost:8000/api/login

当用户使用用户名和密码向该端点发送 POST 请求时,后端将生成 access_tokenrefresh_token 并在响应中返回。然后将刷新令牌保存到数据库中。

问题是用户可能会尝试多次发送 POST 请求,这将导致多个刷新令牌存储在单个设备的数据库中。如果以后我想撤销特定设备的令牌,现在单个用户有多个刷新令牌,这可能会导致问题。

【问题讨论】:

    标签: authentication jwt token jwt-auth


    【解决方案1】:

    我不确定是否正确理解了这个问题,但这不是客户要阻止的工作吗?假设您的客户端是一个移动应用程序,只要用户登录,他就不应该再看到登录选项,除非他手动注销,或者令牌过期,对吗? 如果您的意思是用户使用 Postman 之类的工具从同一设备或浏览器发布登录请求(我怀疑普通用户会尝试),在这种情况下,我认为您甚至不应该关心。只要用户提供有效的凭据(用户名和密码),您就会发回一对新的令牌。如果用户进行全局注销(从所有设备),您无论如何都会使所有刷新令牌无效,如果他从一个特定设备注销,您将仅删除该一个令牌(是的,为该设备创建的其他令牌仍然存在,但它们最终会过期)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-24
      • 2022-10-31
      • 1970-01-01
      • 2022-01-21
      • 2019-11-17
      • 1970-01-01
      • 1970-01-01
      • 2015-05-22
      相关资源
      最近更新 更多