OAuth2用户。异步refresh_token调用

时间:2018-04-18 11:53:47

标签: reactjs asynchronous oauth-2.0

我们有一个客户端与OAuth2保护的服务器通信。

在实施令牌流程时,我们遇到了一个问题。页面加载时,很少有组件可以调用不同的安全端点。 存在访问令牌过期的情况,因此所有请求都会出错并尝试刷新它。所以我们几乎没有异步请求。

有没有办法处理这种情况?

我们的客户端是用React JS编写的。

1 个答案:

答案 0 :(得分:0)

有很多解决方案。

一种解决方案是创建类似TokenService的东西。

在您启动任何http呼叫之前,您将使用此服务并检查您是否拥有有效的令牌。这很容易,因为当您创建令牌时,您将获得有关令牌有效期多长的信息。您存储在某个地方,在您拨打电话之前,检查您是否仍在有效期窗口中。如果你是那么你发起http呼叫,如果你不是,那么你请求另一个并用新的更新存储的呼叫。完成此操作后,您将使用有效令牌激活您的http调用。

如果您不想管理这种复杂性,那么您只需为每个请求申请一个新令牌即可。您可以将每个令牌用于一次通话,而且确实是这样。

如果你已经实现了刷新令牌功能,你也可以使用刷新令牌功能,所以如果你的令牌过期,你只需刷新它并继续前进