Yii 1.1: qq-opensns-login

腾讯社区开放平台 登录组件
6 followers

用于解决腾讯社区开放平台非标准OAuth协议的登录。 有关于腾讯社区开放平台的QQ登录的更多信息,详情请查阅http://connect.opensns.qq.com

Requirements

Yii 1.1.5 以上, PHP5.3以上; (其他平台未测试)

  1. 腾讯社区开放平台和腾讯微博开放平台的接口不同。后者使用标准的OAuth,而前者则 不是,所以不能用标准的PECL库。
  2. 社区开放平台其实并不是类似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

Resources

Total 1 comment

#3852 report it
zhangkai at 2011/05/13 08:25pm
强烈帮顶

非常好用的一个组件啊,有效的减少了,用户注册的麻烦

Leave a comment

Please to leave your comment.

Create extension
Downloads
  • Yii Version: 1.1
  • License: Other Open Source License
  • Developed by: Francis.TM
  • Category: Web Service
  • Votes: +1
  • Downloaded: 682 times
  • Created on: May 13, 2011
  • Last updated: Jan 4, 2013
  • Tags: qq, oauth, login