【问题标题】:Why does OAuth provide both an access token and an access token secret? Why not just a single value?为什么 OAuth 同时提供访问令牌和访问令牌秘密?为什么不只是一个值?
【发布时间】:2011-02-13 23:54:19
【问题描述】:

为什么 OAuth 将访问令牌和访问令牌机密作为两个单独的值包含在内?作为消费者或 OAuth,我所看到的所有建议都表明我应该将令牌和秘密存储在一起,并且本质上将它们视为一个值。

那么为什么规范首先需要两个值?

【问题讨论】:

  • 我可能已经回答了我自己的问题,但我怀疑原因是为 OAuth 提供程序编制索引。提供者可以通过访问令牌有效地查找记录,然后验证访问令牌的秘密,而不必查找冗长且不可索引的组合。

标签: oauth


【解决方案1】:

实际上,访问令牌秘密永远不会传输给提供者。相反,请求会传输访问令牌,然后使用密钥对请求进行签名。这就是为什么您需要两者:一个用于识别,一个用于保护

【讨论】:

  • 那么为什么 Twitter 现在也让我们传播秘密呢?见dev.twitter.com/docs/auth/application-only-auth
  • @JoshuaFrank 不太清楚为什么。这可能是你想直接针对 Twitter 的东西。但无论哪种方式,需要注意的重要一点是,他们的方法需要 SSL 以确保安全。
  • 关于 SSL 的好点,但后来我又回到不理解为什么我们需要密钥和秘密。
【解决方案2】:

有 2 个秘密,一个是令牌秘密,另一个是消费者秘密。 Secret 用于对请求进行签名(以生成 oauth 签名),但不会在请求标头中传输,其中在标头中发送令牌以识别客户端并验证其是否具有访问权限。

【讨论】:

    猜你喜欢
    • 2012-04-28
    • 1970-01-01
    • 2011-12-31
    • 2011-03-18
    • 2021-02-01
    • 2012-12-29
    • 2018-04-17
    • 2016-05-20
    相关资源
    最近更新 更多