我正试图围绕OAuth 1.0a中的令牌秘密。
我已经阅读了OAuth文档和一些Stack Overflow线程,但我能找到的大部分内容都解决了消费者的秘密(我理解)而不是令牌秘密。
我理解消费者密钥和秘密不应暴露给客户端应用程序(在我的情况下是Web浏览器)。它用于使用oauth服务器对我的应用程序进行身份验证,并且仅在服务器之间进行通信,而不是从浏览器进行通信。
我正在努力的是令牌秘密。我知道,一旦我为访问令牌交换了请求令牌,我就会收到令牌秘密。我也明白,在生成oauth签名时,密码会在签名密钥中使用。
我不明白这个令牌的目的是什么,以及是否应该传递给客户端,或者只存储在我的服务器上。
如果该值应该是保密的并且只存储在我的服务器上,它还提供了哪些额外的好处?消费者秘密已经确保攻击者无法在不知道我的客户端秘密的情况下使用访问令牌,令牌秘密不提供任何额外保护。
如果值可以传递给浏览器,它的用途是什么?令牌和令牌机密是同时发出的,如果它们总是一起发送,为什么第二个值有用呢?
编辑:作为可能重复链接的线程不会解决是否应将令牌机密存储在浏览器或服务器上,也不会明确为什么除了它之外还提供任何安全性其他三个值。