1

我正在连接到几个受 OAuth 保护的服务,并试图了解我的两个 Oauth 客户端库的操作方式似乎不同。

其中一个库是通用 OAuth 客户端,它需要访问令牌密钥/秘密对和消费者密钥/秘密对才能生成签名请求。

另一个库是 Facebook 特定的 OAuth 客户端,只需要一个没有密钥的访问令牌,并且根本不需要消费者令牌或密钥来签署请求。

Facebook 的 OAuth 实现是否如此不同以至于它只需要其他 OAuth 实现所需的 4 个元素中的 1 个来签署请求?

4

1 回答 1

2

您提到的通用库用于 OAuth 1.0a 规范。而 Facebook 的 Graph API 基于 OAuth 2。

OAuth 的两个“版本”彼此完全不同。正如您所提到的,主要区别在于,在 OAuth 2 中没有请求级加密的概念(没有签名恐怖)。相反,该规范依赖于绝对要求 API 端点使用安全传输层 (HTTPS/SSL)。

由于 OAuth 2 直到最近才成熟为更稳定的草案,您会发现服务提供商的实现基于不同的草案,而 OAuth 1.0 在服务器实现方面更加稳定。

这个问题应该会给您很好的见解:OAuth 2 与 OAuth 1 有何不同?.

于 2012-05-04T18:32:50.143 回答