有一些很好的纯PHP OAuth选项值得一提.为了理解他们的好部分和坏部分,了解OAuth的工作原理将是最重要的.让我们来复习.
在此示例中,Provider是Imgur,Consumer是您的代码,User是用户.
当我们点击步骤9时,代码中的OAuth对象具有执行请求所需的全部内容.关键的关键部分是OAuth对象必须自己处理API请求,以便它可以正确签署通过线路发送的数据.
有两个很好的选择供您选择,有些不太好.让我们回顾一下好的:
首先是PEAR的HTTP_OAuth,它使用HTTP_Request2作为底层HTTP库.虽然它工作正常,但HTTP_OAuth_Consumer_Request充当请求对象的网关,但不从它继承.这意味着您无法对HTTP_Request2执行任何操作.这可能很烦人.
其次,有Zend Framework的Zend_Oauth,它使用Zend_Http_Client作为底层HTTP库.虽然它是更大的Zend框架的一部分,但这两个组件在很大程度上是独立的,并且可以很好地与其他框架一起使用......或者没有框架.与PEAR库不同,Zend_Oauth_Consumer实际上返回一个派生自Zend_Http_Client的类.这并不是说它不会做它自己奇怪的事情.它不是要求你在会话中隐藏令牌和秘密,而是要求你序列化一个状态令牌对象,它包含令牌和秘密.它完成了工作,但这很奇怪.
忽略疣,两者都是很好的选择.它们都是在自由开源许可下发布的,因此将它们与您的代码捆绑在一起就不会有问题.*
在不太好的类别中,有oauth-php.我不在乎图书馆工作,太多的分心和一些让我烦恼的小事.还有PECL的oauth扩展.虽然它使用CURL,但是不可能从中获取CURL句柄来制作你自己的理智请求.你还提到你没有安装它,这就是为什么它在不太好的类别中.
至于与Imgur的接口......它只是简单的香草JSON.抛开PHP的本机json_encode,json_decode你根本不会有任何问题.该API文档是相当该死良好.
*我不是律师,你可能想咨询一个.
(这个答案的部分内容是逐字逐句复制的,因为我开始编写一个不完整的 Imgur API库.不幸的是我没有实现任何关于专辑的内容,否则我只是链接它.一旦它做了我需要它做的事情,我停了.抱歉.)
| 归档时间: |
|
| 查看次数: |
4705 次 |
| 最近记录: |