2

当我返回请求令牌(我是服务器)时,我会在响应正文中发送值:

oauth_token=946ccd316c&oauth_token_secret=395cfee8ca&oauth_callback_confirmed=true

我想弄清楚是否可以跳完舞jsonp。签名和请求工作正常,但由于正文不是 json,解析期间响应失败。

因此,我可以回复编码为 jsonp insted 的正文(如果客户要求),如下所示:

callback({oauth_token:'946ccd316c',oauth_token_secret:'395cfee8ca',oauth_callback_confirmed:true})

它可能会起作用。我的问题是:

这会打破所有标准吗?我可以更改正文的编码吗?有没有更好的办法?

4

2 回答 2

2

OAuth 规范没有指定发送令牌的格式。因此,我认为您最好将它返回到 JSON 对象中,如您所示。

事实上,Google 也会在 JSON 对象中返回access_token,如下所示:

response :{
  "access_token" : "ya29S6ZQbiBQpA5Rz8oty00xj-xydfdfddteerer-1eM",
  "token_type" : "Bearer",
  "expires_in" : 3600
 }
于 2013-03-01T17:25:54.897 回答
1

查看 OAuth 2.0 标准 - RFC 位于此处。对于所需的访问令牌行为,您可能会对第 4.4.2 节(访问令牌请求)和 4.4.3(访问令牌响应)感兴趣。未指定响应正文的格式;事实上,在 JSON 编码的访问令牌响应规范中有一个示例。只要您将内容类型设置为 application/json,并使用所需的参数名称,就可以了。

于 2013-03-01T17:00:25.387 回答