不使用URL中的参数发送访问令牌

时间:2012-02-12 10:54:00

标签: codeigniter oauth-2.0

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

感谢所有输入!

2 个答案:

答案 0 :(得分:3)

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

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

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

该规范还介绍了使用OAuth 2.0承载令牌时的许多安全注意事项(请参阅:http://tools.ietf.org/html/draft-ietf-oauth-v2-bearer-16#section-4

答案 1 :(得分:1)

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

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