4

我正在为它构建一个 REST 服务器和一个客户端。现在我需要嵌入一些第三方 oauth2 身份验证。现在我将用户引导到服务器,让他对服务进行身份验证,然后我重定向到客户端,有点像这样:

客户端:未验证 -> 服务器 -> 重定向到第三方 -> 重定向到服务器 -> 重定向到应用程序。

然后我在客户端上存储一个 cookie 来识别用户(cookie 是使用 withCredentials 和 CORS 发送的)。

我现在的问题是令牌过期时我应该怎么做重新认证?由于客户端和服务器仅通过 json 进行通信,我将不得不再次启动完整的身份验证过程,因此用户将丢失应用程序中的所有状态。有没有人有关于如何解决这个问题的建议?在客户端进行身份验证并将访问令牌存储在服务器上是否更好?

4

1 回答 1

1

无论您做什么都是获取 OAuth access_token的正确方法。而且您的access_token是临时的,因此可能会过期。

我认为您可以执行以下任一操作:

  1. 检查授权服务器(用于获取令牌)是否提供使用access_token获取更长持续时间令牌的选项。这在 OAuth 2 规范中也有建议。

  2. 尝试在不使用会话的情况下存储用户的状态。

于 2013-02-21T12:25:02.743 回答