OAuth客户端实现中的差异

时间:2012-05-04 18:14:30

标签: oauth oauth-2.0 facebook-oauth

我正在连接几个受OAuth保护的服务,并试图了解我的两个Oauth客户端库如何以不同的方式运行。

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

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

Facebook对OAuth的实施是如此不同,以至于只需要其他OAuth实施所需的4个元素中的一个来签署请求吗?

1 个答案:

答案 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?