【问题标题】:Are OAuth Access Tokens confidential?OAuth 访问令牌是否保密?
【发布时间】:2017-10-04 08:09:24
【问题描述】:

我有一个使用 OAuth 2.0 与第三方服务通信的 Web 应用程序。我希望我的服务器和我的网络应用程序都代表用户与授权服务进行对话。我经历了进行重定向的正常授权步骤,获取身份验证代码,将其交换为访问令牌,所有这些爵士乐。完成后,我的服务器拥有访问令牌并可以与服务通信。但是,我希望 Web 应用程序也能与服务通信,这样我就不必通过我的服务器路由所有内容。

我可以将访问令牌发送到 Web 应用程序以便实现此目的吗?或者,访问令牌是否应该在我的服务和服务之间保密,永远不会向用户透露,就像客户端密码一样?

我试图在规范和各种博客文章中找到答案,但无论哪种方式都没有找到明确的答案。我知道客户端应用程序有一个隐含的身份验证方法,它根本不涉及服务器端组件。因此我最初的猜测是我可以将令牌发送给客户端。不过我想验证一下。

【问题讨论】:

    标签: security oauth-2.0


    【解决方案1】:

    令牌被认为是非常敏感的信息,因为它允许访问服务。如果拥有此令牌,任何人都可以发出请求。

    这就是令牌在授权标头中传递的原因,这就是为什么强烈建议您通过 https 进行所有调用,以保护标头和正文信息。这也是为什么建议令牌具有较短的生命周期,以便如果确实受到损害,它不会持续很长时间。

    是的,您可以在自己的应用程序之间共享此令牌并且它应该可以工作,前提是令牌的接收者不存储调用者的 IP 地址或有一些其他检查机制。

    然而,理想的情况是您向每个需要访问的应用程序发出一组不同的 ClientID 和 Client Secret。

    不要忘记这是应用程序向接收方标识自己的方式,它可能对报告和分析目的很重要。

    【讨论】:

      猜你喜欢
      • 2011-11-09
      • 2017-08-01
      • 2011-05-03
      • 2016-10-29
      • 2016-03-15
      • 1970-01-01
      • 2016-03-21
      • 2016-01-19
      相关资源
      最近更新 更多