我继承了一个Ionic应用程序,该应用程序使用ng-token-auth
+ devise_token_auth
来处理身份验证以及正面和背面之间的会话.
发生的事情很奇怪.有时(特别是连接速度慢)请求(或响应)丢失,之后我只得到401
http错误.
我知道,每当我发送请求时,令牌都会过期,但是当xhr
请求被取消时(由我认为是服务器,或者是浏览器,我不知道),令牌已过期而未被新生成的令牌替换通过devise_token_auth
宝石.
我知道Rails,但我不熟悉Angular,既不是Ionic,也不知道到底在哪里.
在阅读了很多SO答案之后,似乎没有人出现我的问题(在本地和分期/生产中发生),我检查了以下内容
storage
被设为localStorage
.
config.batch_request_buffer_throttle = 20.seconds
取消的请求之间没有模式,有时我会为用户名执行get,有时会发布帖子或发表评论.
不是CORS问题,因为它会永远或永远不会发生.(而且我正在使用离子博客中解释的代理)
也许它可能与临时标题 chrome bug有关.但是,我怎么能确定?
令我感到困惑的是,它有时只会发生,而不是总是发生.(并且后端没有错误)
我在devise_token_auth文档中找到的唯一解决方法是更改config.change_headers_on_each_request
以false
避免以这种方式重新生成令牌.
但我不喜欢这种解决方案,因为我认为它以不安全的方式隐藏真正的问题,而不是解决令牌丢失问题.有什么建议吗?