Facebook实际上是否支持OAuth 2.0?

问题描述:

我已经成功地在我的应用程序中使用外部库实现了LinkedIn和Twitter Oauth 2.0授权。但我在Facebook上遇到问题。它似乎有不同的授权流程。Facebook实际上是否支持OAuth 2.0?

我需要有3个端点实施的OAuth:请求令牌URL,访问令牌URL和授权令牌网址。

对于LinkedIn和Twitter我有他们:

REQ_TOKEN_URL="https://api.linkedin.com/uas/oauth/requestToken"; 
ACCESS_TOKEN_URL="https://api.linkedin.com/uas/oauth/accessToken"; 
AUTHORIZE_TOKEN_URL="https://api.linkedin.com/uas/oauth/authorize"; 

REQ_TOKEN_URL="https://api.twitter.com/oauth/request_token"; 
ACCESS_TOKEN_URL="https://api.twitter.com/oauth/access_token"; 
AUTHORIZE_TOKEN_URL="https://api.twitter.com/oauth/authorize"; 

但对于Facebook,而不是请求令牌我

OAUTH_FACEBOOK_DIALOG = "https://www.facebook.com/dialog/oauth"; 

而且我不知道这是否是平等的。可能不会,因为它的工作方式与LinedIn和Twitter相同。

而在Facebook文档中,他们建议先将用户重定向到“https://www.facebook.com/dialog/oauth”,但在传统的OAuth 2.0中,首先我必须从request_token_URL请求令牌。

所以问题是:Facebook的授权流程实际上不是OAuth 2.0,我必须使用不同的方法?

+1

您提到Twitter支持OAuth 2.0 - 但在这里它表示它不... https://dev.twitter.com/discussions/397 –

Facebook事实上完全支持OAuth 2.0。 Twitter目前does not支持OAuth 2.0。 LinkedIn OAuth 2.0支持我相信是still in beta。但是,是的,您需要针对不同版本的OAuth使用不同的方法。