【问题标题】:Send access token without using parameter in URL发送访问令牌而不使用 URL 中的参数
【发布时间】:2012-02-14 04:01:47
【问题描述】:

我正在使用 Codeigniter 和 Oauth2(Alex Bilbies 库)开发一个 API。 我的 iPhone 应用程序正在使用该 API。对于每个请求,我需要将访问令牌作为 URL 中的参数发送。有没有办法在标头中发送令牌?为了避免它“暴露”?

感谢所有输入!

【问题讨论】:

    标签: codeigniter oauth-2.0


    【解决方案1】:

    OAuth 2.0 不记名令牌允许您将它们插入 HTTP 授权标头中,如下所示:

    POST /my/api HTTP/1.1
    Host: rs.company.com
    Authorization: Bearer abcdef123456
    

    其中 abcdef123456 是您的访问令牌(请参阅:https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-bearer-16#section-2.1)。事实上,规范说如果可能的话,你应该这样做来代替请求参数。

    该规范还描述了使用 OAuth 2.0 不记名令牌时的许多安全注意事项(请参阅:https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-bearer-16#section-4

    【解决方案2】:

    通过 GET 发送访问令牌与在标头中发送它一样不安全。

    OAuth 1 过去使用各种加密、安全密码来解决这个问题,你甚至可以打开认证。这真是一个巨大的球痛,所以现在在 OAuth 2 中,您只需要使用 HTTPS 即可为您完成所有这些工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-08
      • 1970-01-01
      • 2016-11-29
      • 1970-01-01
      • 2018-01-22
      • 2018-04-17
      • 1970-01-01
      • 2013-01-06
      相关资源
      最近更新 更多