【问题标题】:OAuth: Is it ok to return access token as json?OAuth:可以将访问令牌返回为 json 吗?
【发布时间】:2013-02-16 00:42:08
【问题描述】:

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

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})

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

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

【问题讨论】:

    标签: javascript json oauth jsonp


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-24
        • 1970-01-01
        • 1970-01-01
        • 2021-11-21
        • 2012-07-20
        • 2018-02-17
        • 2017-02-11
        • 2019-11-12
        相关资源
        最近更新 更多