0

我正在构建一个由 React 前端和后端中的几个 Rails API 组成的 Web 应用程序。一个 Rails API 用于用户身份验证,另一个用于存储,所有这些都通过 resftful API 端点进行协调。对于客户端身份验证,我是用户 redux-token-auth 与用户身份验证 API 上的 devise_token_auth gem 配对。在存储 API 上,它通过让用户身份验证 API 在登录时将客户端标识符和访问令牌发送到存储 API 来确认用户已通过身份验证。客户端通过存储验证访问令牌和客户端标识符以进行授权。一切正常,但我遇到的问题是,在重新加载客户端应用程序时,会生成一个新令牌,并且必须将这个新令牌发送并存储在存储 API 中才能授权工作。

我已经查看了 redux-token-auth 的代码,并且当客户端重新加载时会调用 verifyCredentials 函数。这个函数似乎是一个不返回承诺的承诺。进一步 verifyCredentials 调用 verifyToken,它将访问令牌存储到本地存储中。但是,这也不会返回我可以实现的承诺。我尝试在调用 verifyCredentials 并通过客户端中的 axios 将新令牌发送到存储 API 后立即更新访问令牌,但它始终发送最后一个令牌而不是新更新的令牌。我曾尝试在应用程序生命周期的不同时间以各种方式执行此操作,但都失败了。

是否有任何可行的解决方案来解决这个问题,或者无论如何将 verifyToken/VerifyCrendials 变成一个返回我可以访问的响应数据的承诺?

4

1 回答 1

0

晚了,但试试:

于 2019-04-24T08:57:27.523 回答