Facebook 真的支持 OAuth 2.0 吗?
Posted
技术标签:
【中文标题】Facebook 真的支持 OAuth 2.0 吗?【英文标题】:Does Facebook actually support OAuth 2.0? 【发布时间】:2011-11-28 07:04:47 【问题描述】:我已经使用外部库在我的应用程序中成功实现了 LinkedIn 和 Twitter Oauth 2.0 授权。但我在使用 Facebook 时遇到了问题。好像有不同的授权流程。
我需要 3 个端点来实现 OAuth:请求令牌 url、访问令牌 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,我必须使用不同的方法吗?
【问题讨论】:
您提到 Twitter 支持 OAuth 2.0 - 但这里说它不支持...dev.twitter.com/discussions/397 【参考方案1】:Facebook 实际上完全支持 OAuth 2.0。 Twitter 目前does not 支持 OAuth 2.0。我相信 LinkedIn OAuth 2.0 支持是 still in beta。但是,是的,您需要对不同版本的 OAuth 使用不同的方法。
【讨论】:
以上是关于Facebook 真的支持 OAuth 2.0 吗?的主要内容,如果未能解决你的问题,请参考以下文章
服务帐户的 google OAuth 2.0 是 OAuth 2.0 标准的一部分吗?
使用 facebook 登录并使用 oauth 2.0 对 REST api 调用进行身份验证