labcat / tmhoauth
由 @themattharris 编写的 PHP OAuth 库
Requires
- php: >=5.3.0
- ext-curl: *
README
由 @themattharris 编写的 PHP OAuth 库。这个版本是从 https://github.com/themattharris/tmhOAuth 分支出来的。
唯一的区别是修复了以下错误:函数名、类名、命名空间名或常量名不能是保留关键字 'DIR'(自版本 5.3 起有效)。
免责声明:该项目仍在开发中。请使用问题跟踪器报告任何增强功能或您遇到的问题。
目标
- 支持 OAuth 1.0A
- 使用授权头而不是查询字符串或 POST 参数
- 允许上传图片
- 提供足够的信息以帮助调试
依赖
该库已在 PHP 5.3+ 上测试,并依赖于 CURL 和 hash_hmac。绝大多数主机提供商都包括这些库,并且使用 PHP 5.1+。
代码使用了 hash_hmac,它是在 PHP 5.1.2 中引入的。如果您的 PHP 版本低于此版本,您应要求您的托管提供商进行更新。
关于安全和 SSL 的注意事项
版本 0.60 加强了库的安全性,并将 curl_ssl_verifypeer
默认设置为 true
。由于一些托管提供商没有提供最新的证书根文件,它现在已包含在本存储库中。如果版本已过时或您更喜欢自己下载证书根文件,您可以从以下位置获取: http://curl.haxx.se/ca/cacert.pem
如果您收到 http 代码 0 的响应,请检查 $tmhOAuth->response['error']
以查看问题所在。通常代码 0 表示 cacert.pem 无法找到,可以通过将 cacert.pem 放在 tmhOAuth 正在寻找的位置(在 $tmhOAuth->response['error']
消息中指示),或将 $tmhOAuth->config['curl_cainfo']
和 $tmhOAuth->config['curl_capath']
的值设置正确来修复。将 $tmhOAuth->config['use_ssl']
设置为 false 并不是 解决此问题的方法。
使用方法
这将稍后完成,但目前请查看示例存储库 https://github.com/themattharris/tmhOAuthExamples,了解库的使用方法。每个示例都包含如何使用的说明。
有关如何使用 composer 安装 tmhOAuth 的指南,请参阅 tmhOAuthExamples 项目。
旧版本用户注意事项
从版本 0.8.0 开始,tmhUtilities 不再包括在内。如果您觉得它们很有用,请向我提交一个问题,我会为它们创建一个新的存储库。版本 0.8.0 还忽略 $tmhOAuth->config['v']
。如果您之前使用过,您应该指定通过 $tmhOAuth->url
传递的路径中的 API 版本。
版本 0.7.3 之前,具有相同值的标题会合并到一个 $tmhOAuth->response['headers']
键中。从 0.7.3 开始,具有相同键的标题将使用数组来存储它们的值。
如果您之前使用过版本 0.4,请注意实用函数现在已分解到自己的文件中。在您使用版本 0.5+ 的应用程序之前,请在本地测试以确保您的代码不需要包括 tmhUtilities。
如果您在定义时将自定义 HTTP 请求头定义为 'key: value'
字符串,您现在应该将它们定义为 'key' => 'value'
对。
变更历史
现在,该文档已发布在tmhOAuth维基百科上 https://github.com/themattharris/tmhOAuth/wiki/Change-History
社区
许可证:Apache 2(见 包含的LICENSE文件)
关注 @tmhOAuth 以获取版本更新或寻求支持。关注我Twitter: @themattharris 查看Twitter开发者资源:https://dev.twitter.com