【发布时间】:2012-02-14 04:01:47
【问题描述】:
我正在使用 Codeigniter 和 Oauth2(Alex Bilbies 库)开发一个 API。 我的 iPhone 应用程序正在使用该 API。对于每个请求,我需要将访问令牌作为 URL 中的参数发送。有没有办法在标头中发送令牌?为了避免它“暴露”?
感谢所有输入!
【问题讨论】:
标签: codeigniter oauth-2.0
我正在使用 Codeigniter 和 Oauth2(Alex Bilbies 库)开发一个 API。 我的 iPhone 应用程序正在使用该 API。对于每个请求,我需要将访问令牌作为 URL 中的参数发送。有没有办法在标头中发送令牌?为了避免它“暴露”?
感谢所有输入!
【问题讨论】:
标签: codeigniter oauth-2.0
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)
通过 GET 发送访问令牌与在标头中发送它一样不安全。
OAuth 1 过去使用各种加密、安全密码来解决这个问题,你甚至可以打开认证。这真是一个巨大的球痛,所以现在在 OAuth 2 中,您只需要使用 HTTPS 即可为您完成所有这些工作。
【讨论】: