2011-09-30 103 views
6

我已經成功地在我的應用程序中使用外部庫實現了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 –

回答

3

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