【发布时间】:2011-09-28 18:19:14
【问题描述】:
我正在尝试使用 2-legged OAuth 作为身份验证机制将 iPhone 应用程序连接到 PHP API。我正在使用来自 http://code.google.com/p/oauth/ 的 PHP 和 Objective-C 2.0 库。问题是,当我尝试使用 Objective-C 发出 GET 请求时,它不包括请求 URI 中的 OAuth 参数,就像发出 OAuth GET 请求时 PHP 库所做的那样:
http://www.mysite.com/oauth/index.php?oauth_consumer_key=key&oauth_nonce=XXXXXXXX&oauth_signature=XXXXXXXXXXX%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1309863754&oauth_version=1.0
而是将 OAuth 参数放在 Authorization 标头中:
Authorization: OAuth realm="", oauth_consumer_key="XXXXX", oauth_token="XXXX-XXXX",
oauth_signature_method="HMAC-SHA1", oauth_signature="XXXXXXXX",
oauth_timestamp="1309863855", oauth_nonce="XXXX-XXX-XX-XX-XXXXXXX", oauth_version="1.0"
我想这两种方式对于 OAuth 规范同样有效,对吧?
使用 PHP 读取授权标头的最佳方法是什么?
【问题讨论】: