本文只是一个收集的链接,关于oauth,可以去看一下wiki百科,对于PHP的oauth支持,可以看一下手册
国内很早就有不少网站支持oauth,只是更多的网站都没有做出此类开放的功能。不过,疯狂的时候来的总是那么突然(这让我想起在单位的年夜饭上,刚吃了一小时,突然副总说了一句,快乐的时光总是短暂的)。国内对Oauth的支持也就突然间的多了起来,可能,最让人记的清楚的还是新浪。但当时关于oauth的文章还不是特别多,只是在QQ开放oauth后,突然间文章就多了很多,理由是,QQ所支持的oauth协议居然是非标的。。。。
好吧,让我们看看其他人是怎么说的:
2、老王的:基于PECL OAuth打造微博应用
3、android下的:android开发我的新浪微博客户端-OAuth篇(2.1)
6、使用 PECL 的 OAuth 库访问 QQ 微博 API
其中4、5、6都是mikespook写的,他说,QQ 微博的API里有点重要的事情,并列出来了。看例子:
PHP代码
- <?php
- include('define.php');
- try {
- $oauth = new OAuth(OAUTH_KEY, OAUTH_SECRET, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
- $oauth->enableDebug();
- // 很重要!!!在 OAuth 标准里是没有规定 nonce 的长度的,但是 QQ 对 nonce 的长度做了要求——32 字节长。如果不设置一下,会返回 400 错误。我为此纠结了一天。
- $oauth->setNonce(md5(rand()));
- // CALLBACK 一定要设置,OAuth 扩展的文档上是没设置的,但是 QQ 这里不设会报错
- $requestTokenInfo = $oauth->getRequestToken(REQUEST_TOKEN, CALLBACK);
- $_SESSION['oauth_token_secret'] = $requestTokenInfo['oauth_token_secret'];
- // header("Location: ……") 亦可
- echo "<p><a href='" . AUTHORIZE . "?oauth_token=" . $requestTokenInfo['oauth_token'] . "'>authorize</a></p>";
- } catch (OAuthException $e) {
- var_dump($e);
- }
- callback.php
- <?php
- include('define.php');
- try {
- $oauth = new OAuth(OAUTH_KEY, OAUTH_SECRET, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
- $oauth->enableDebug();
- // 很重要!!!如果不设置一下,会返回 401 错误。
- $oauth->setNonce(md5(rand()));
- $oauth->setToken($_GET['oauth_token'], $_SESSION['oauth_token_secret']);
- $accessTokenInfo = $oauth->getAccessToken(ACCESS_TOKEN, null, $_GET['oauth_verifier']);
- $_SESSION['access_token'] = $accessTokenInfo['oauth_token'];
- $_SESSION['access_secret'] = $accessTokenInfo['oauth_token_secret'];
- header('Location: room.php');
- } catch (OAuthException $e) {
- var_dump($e);
- }
8、对新浪微博的OAUTH开发,居然还有一个总结:新浪微博OAuth认证总结
9、又是老王发的牢骚:OAuth那些事儿
好吧,就先列出这么多,真要查出oauth之类的东西,google随便一下就有很多,我贴出来的地址,都是我订阅的一些RSS的地址,也算是做一个集中罢了。