我正在连接几个受OAuth保护的服务,并试图了解我的两个Oauth客户端库如何以不同的方式运行。
其中一个库是一般OAuth客户端,需要访问令牌密钥/密钥对和使用者密钥/密钥对才能生成签名请求。
另一个库是Facebook特定的OAuth客户端,只需要一个没有秘密的访问令牌,而且根本不需要任何消费者令牌或密钥来签署请求。
Facebook对OAuth的实施是如此不同,以至于只需要其他OAuth实施所需的4个元素中的一个来签署请求吗?
答案 0 :(得分:2)
您提到的通用库是与OAuth 1.0a规范一起使用的。 Facebook的Graph API基于OAuth 2。
OAuth的两个“版本”彼此截然不同。正如您所提到的,主要区别在于OAuth 2中没有请求级加密的概念(没有签名恐怖)。相反,规范依赖于绝对要求API端点使用安全传输层(HTTPS / SSL)。
由于OAuth 2最近才成熟为更稳定的草案,您会发现服务提供商的实施基于不同的草案,而OAuth 1.0在服务器实施方面更稳定。
这个问题可以为您提供良好的见解:How is OAuth 2 different from OAuth 1?。