OAuth2访问令牌

时间:2013-08-23 05:25:32

标签: oauth-2.0 facebook-oauth google-oauth

我正在使用OAuth 2的网站上工作,而且我在使用Google登录过程时遇到了一些问题。

一切都很完美,直到我去获取访问令牌。当我用facebook做这个时,它返回url编码,就像规范:

access_token={access-token}&expires={seconds-til-expiration}

当我对谷歌做同样的事情时,我得到了相同的数据,但在json中,也是我能找到的那篇文章:

{
  "access_token":"1/fFAGRNJru1FTz70BzhT3Zg",
  "expires_in":3920,
  "token_type":"Bearer"
}

这是不可取的,我能做些什么来使其中一个符合另一个?或者我是否只需要填写并编写我的代码来处理这个问题?

2 个答案:

答案 0 :(得分:1)

嗯,这不是您在不同OAuth提供商中找到的唯一不一致。 scopes(自然地)不同,user profile也会有所不同(例如,您将在一个中获得 last_name ,在另一个中获得 family_name ,两者都是意思相同)。在our system中,我们选择将规范化所有提供程序转换为公共表示形式。我们还隐藏了不同提供商之间的差异。但在我们的案例中,我们处理的是相当多的提供商,我们希望为所有提供商提供单一界面。

答案 1 :(得分:0)

Google会根据规范返回结果: http://tools.ietf.org/html/rfc6749#section-5.1

请求以URL编码格式发送。令牌端点的响应始终为JSON。