用于解决腾讯社区开放平台非标准OAuth协议的登录。 有关于腾讯社区开放平台的QQ登录的更多信息,详情请查阅http://connect.opensns.qq.com
Requirements ¶
Yii 1.1.5 以上, PHP5.3以上; (其他平台未测试)
- 腾讯社区开放平台和腾讯微博开放平台的接口不同。后者使用标准的OAuth,而前者则 不是,所以不能用标准的PECL库。
- 社区开放平台其实并不是类似Discuz内置的使用QQ号登陆,而是使用QZone的账户 来登录。
Usage ¶
- 将文件放在 protected/components/ 下;
- 修改配置:
return array(
....
'components' => array(
....
'oauth' => array(
'key' => 'xxxxx',
'secret' => 'xxxxx',
'callback' => '/site/callback',
'class' => 'application.components.QQOAuth',
),
),
);
- 控制器动作中:
$oauth = Yii::app()->oauth;
$oauth->fetchOAuthToken();
$requestToken = $oauth->requestToken;
$requestSecret = $oauth->requestSecret;
- 在回调动作中:
$token = $_GET['oauth_token'];
$vericode = $_GET['oauth_vericode'];
$oauth->fetchAccessToken($token, $vericode);
$at = $oauth->accessToken;
$as = $oauth->accessSecret;
$userInfo = $oauth->fetchUserInfo($at, $as);
// $userInfo will be an array include nickname and avatar URL.
// for detail, please check http://wiki.opensns.qq.com/wiki/%E3%80%90QQ%E7%99%BB%E5%BD%95%E3%80%91get_user_info
强烈帮顶
非常好用的一个组件啊,有效的减少了,用户注册的麻烦
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.