Javascript OAuth:可以将访问令牌作为json返回吗?

Javascript OAuth:可以将访问令牌作为json返回吗?,javascript,json,oauth,jsonp,Javascript,Json,Oauth,Jsonp,当我返回请求令牌(我是服务器)时,我在响应主体中发送值: oauth_token=946ccd316c&oauth_token_secret=395cfee8ca&oauth_callback_confirmed=true 我想知道是否有可能在jsonp上跳舞。签名和请求工作正常,但由于主体不是json,因此解析过程中响应失败 因此,我可以使用编码为jsonp insted的主体(如果客户要求)进行回复,如下所示: callback({oauth_token:'946ccd31

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

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})
这可能会奏效。我的问题是:


这会打破所有标准吗?我可以改变身体的编码吗?有更好的方法吗?

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

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

事实上,Google还返回JSON对象内部的access\u token,如下所示:

response :{
  "access_token" : "ya29S6ZQbiBQpA5Rz8oty00xj-xydfdfddteerer-1eM",
  "token_type" : "Bearer",
  "expires_in" : 3600
 }