TP5 + Composer 快速接入QQ登录

浏览:8692 发布日期:2016/08/10 分类:ThinkPHP5专区 关键字: tp5 qqconnect composer
前提:
会使用composer安装package
-------------------------------------------------------------
下面开始
1. 安装 qqconect 包
https://github.com/kuange/qqconnect.gitcomposer require kuange/qqconnect2. 添加配置到公共配置文件中// QQ 互联配置
'qqconnect' => [
    'appid' => '',
    'appkey' => '',
    'callback' => '',
    'scope' => 'get_user_info,add_share,list_album,add_album,upload_pic,add_topic,add_one_blog,add_weibo,check_page_fans,add_t,add_pic_t,del_t,get_repost_list,get_info,get_other_info,get_fanslist,get_idolist,add_idol,del_idol,get_tenpay_addr',
    'errorReport' => true
]
--------------------------------------------------
项目中代码:
1. 页面代码<a href="{:url('home/oauth/qq')}">QQ登录</a>2. 控制器编写
登录use kuange\qqconnect\QC;
class OauthController extends Controller
{
    public function qqAction()
    {
        $qc = new QC();
        return redirect($qc->qq_login());
    }
}
回调use kuange\qqconnect\QC;
class CallbackController extends Controller
{
    public function qqAction()
    {
        $qc = new QC();
        echo $qc->qq_callback();    // access_token
        echo $qc->get_openid();     // openid
        // 待处理用户逻辑
        $this->success('登录成功', url('/'));
    }
}
--------------------------------------------------------
支持不同回调url$qc->qq_login($another_callback_url);--------------------------------------------------------

--------------------------------------------------------
如果出现The state does not match. You may be a victiom of CSRF. 请在在回调方法中 打印一下 state 和 session('QC_userData')
看下 state 是否在 session('QC_userData') 中
域名需要一直
----------------------------------------------------------------------
获取用户信息需要重新 new QC();$qc = new QC();
$access_token =  $qc->qq_callback();
$openid = $qc->get_openid();
$qc = new QC($access_token, $openid);
$qq_user_info = $qc->get_user_info();
最佳答案
评论( 相关
后面还有条评论,点击查看>>