OAuth 1.0A共享密钥有什么好处?
根据我的理解,客户端可以向受保护的资源服务器注册,其中客户端接收客户端标识符和共享密钥。即使我一遍又一遍地阅读OAuth 1.0A spec - 我很难理解两个问题:
我不是要你引用这个规范 - 在这一点上我需要更简单的澄清,因为我很难理解规范的内容(它真的没有详细说明共享 - 无论如何秘密)。
答案 0 :(得分:1)
需要秘密来为请求生成签名。没有签名,你无法确定两件事:
只有提供者和消费者知道秘密,签名和验证才能防止这些未经授权的请求。 This post详细介绍了签名背后的想法。特别是,以下摘录与您的问题非常相关:
哈希本身并不验证发件人的身份,只验证数据的完整性。为了允许接收者验证请求来自声明的发送者,散列算法与共享秘密组合。如果双方都同意仅为他们所知的某些共享秘密,他们可以将其添加到正在散列的内容中。这可以通过简单地将秘密附加到内容上,或者使用具有用于诸如HMAC的秘密的内置机制的更复杂的算法来完成。无论哪种方式,生成和验证签名都需要访问共享密钥,这可以防止攻击者伪造或修改请求。