关于多点登录的 refresh_token 过期时间问题

离离原上草
  • 2
新手上路,请多包涵

使用一个令牌管理登陆认证,如果 A 设备登陆了系统,rt的有效时间是 12 个小时,在使用 B 设备登陆系统(at 的唯一性我会使用设备码进行判断是否要刷新 at)。
此时会有一个问题,rt的有效时间怎么处理?

  1. 如果我不刷新时间,也许 B 设备在 rt 有效时间快要结束时才登陆,一小段时间后会导致又要登陆一次。
  2. 如果刷新了时间,那在 A 设备看来 rt 的有效时间就不是 12 个小时了,12 个小时后它还是可以登陆。
  3. 如果一个账户可以生成多个令牌,为每一个设备对应一个令牌,这种方案怎么样?
回复
阅读 3.5k
1 个回答

你的问题就在于没理解 refresh_token 到底刷新的是谁,它刷新的是 access_token 才对,且刷新的时候根本不会 care 有没有同一个用户持有另一个 access_token。

也就是说,refresh_token 是跟 access_token 成对的,而不是跟用户匹配的。

每个用户,可以有多对 access_token 和 refresh_token 同时生效(也就是你的第三小点)。

如果真的想让前面的某对 access_token / refresh_token 失效,也是另有逻辑去处理,而不是直接简单粗暴的认为一个用户只会有一对 access_token / refresh_token。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏