【问题标题】:OAuth access token and page refreshesOAuth 访问令牌和页面刷新
【发布时间】:2013-08-18 07:45:50
【问题描述】:

我可以看到 OAuth 对于完全 Ajax 化的应用程序运行良好,因为本地 JS 代码总是可以将 Bearer 令牌重播到服务器。但是,如果我们刷新页面会发生什么?在这种情况下,我假设我们丢失了令牌,然后通过 OAuth 重定向过程返回以获取新的访问令牌。这是否正确,是否有避免这种情况的模式,例如将访问令牌存储在 HTML5 本地存储中?

【问题讨论】:

    标签: ajax html security session oauth


    【解决方案1】:

    如果您使用的是 OAuth 2.0,那么当您向 OAuth 2.0 提供者进行身份验证时,您可能可以同时请求 a refresh token 和访问(或承载)令牌。刷新令牌应该直接返回到托管 Web 应用程序的服务器,以某种方式存储(可能是会话状态)并且永远不会暴露给浏览器。浏览器可以使用访问令牌向需要它的安全服务/端点发出请求,但它的生命周期应该很短(无论是否有页面刷新)。当它过期时(同样可能是也可能不是由于页面刷新),客户端应用程序可以向交付刷新令牌的托管服务器发出请求。然后,服务器可以使用刷新令牌获取新的访问令牌,而用户无需再次登录。

    在 OAuth 2.0 规范的 refresh token section 中有一个图表。

    OAuth 2.0 的使用方式有多种变体,详细信息可能会因您的特定场景和实施而异,但希望这能让您大致了解如何避免在访问令牌时提示用户重新进行身份验证过期或页面重新加载。

    【讨论】:

      猜你喜欢
      • 2015-04-01
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      • 2019-03-16
      • 2017-06-09
      • 2015-08-21
      • 1970-01-01
      • 2013-11-23
      相关资源
      最近更新 更多