设计。如何处理由于未及时收到新令牌而导致的注销?

时间:2018-08-08 12:12:45

标签: ios devise devise-token-auth

我们在后端使用了devise(带有change_headers_on_each_request = true),它对于快速网络很有效。最近,在慢速网络上,由于使用了旧令牌,我们开始出现频繁注销用户的问题。

通常会发生以下情况:

  1. 用户登录并获取auth1标头。
  2. 用户使用auth1发送请求,但未能获得响应(网络请求超时或用户在获得响应之前关闭了应用程序)。
  3. 与此同时,后端生成了auth2,试图将其发送给User,但是User无法接收它。
  4. 用户使用已知的最新auth1发送第二个请求。
  5. 用户获得401,因为后端的auth1已经替换为auth1。

到目前为止,我只能想到:

  • 在本地保存用户凭据,并进行“影子”重新登录以“刷新”令牌
  • 允许auth1生存很长时间并可以重复使用

有什么好办法解决这个问题?

P.S。我认为设计追踪器中已经有一个issue与我的差不多。

0 个答案:

没有答案