当我返回请求令牌(我是服务器)时,我会在响应正文中发送值:
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})
它可能会奏效。我的问题是:
这会破坏所有标准吗?我可以改变身体的编码吗?有更好的方法吗?
答案 0 :(得分:1)
OAuth规范未指定发送令牌的格式。所以我认为如你所示,你可以在JSON对象中返回它。
事实上Google还会在JSON对象中返回 access_token ,如下所示:
response :{
"access_token" : "ya29S6ZQbiBQpA5Rz8oty00xj-xydfdfddteerer-1eM",
"token_type" : "Bearer",
"expires_in" : 3600
}
答案 1 :(得分:0)
查看OAuth 2.0标准 - 找到RFC here。对于所需的访问令牌行为,您会对4.4.2(访问令牌请求)和4.4.3(访问令牌响应)一节感兴趣。未指定响应正文的格式;实际上,在JSON中编码的访问令牌响应的规范中显示了一个示例。只要将内容类型设置为application / json,并使用所需的参数名称,就可以了。