QQ互联三方登录

1、官方下载SDK包(PHP)

2、以ThinkCMF 5.0  为例,将文件命名为qqAuth(自己任意起)上传到 simplewind 文件夹中的 extend 文件夹中

3、安装SDK包

4.删除除API外其它的一切包,然后将API中的文件移动到 qqAuth 文件夹中

5.// QQ 登录  
    public function qqLogin(){
    // 引入QQ互联第三方sdk类库
    import('qqAuth.qqConnectAPI',EXTEND_PATH);  
        $qc = new \QC();
        $qc->qq_login();
        exit;

    }


6. // 回调

public function qqGoback(){
   
    // 引入QQ互联第三方sdk类库
    import('qqAuth.qqConnectAPI',EXTEND_PATH);  
        $qc = new \QC();
$access_token = $qc->qq_callback();  // 获取access_token
$open_id = $qc->get_openid();

// 判断用户是否存在
$is_user = Db::name('user')
                 ->where(['open_id'=>$open_id])
                 ->find();

if($is_user){
session('user',[
                        'u_id'=>$is_user['id'],
                        'nickname'=>$is_user['user_nickname'],
                        'leval'=>$is_user['leval']
                    ]);
            
}else{
   
   $qc = new \QC($access_token,$open_id);
   $user_info = $qc->get_user_info();

if($user_info && is_array($user_info)){
$data['open_id'] = $open_id;
$data['login_type'] = 3;
$data['user_nickname'] = $user_info['nickname'];
$data['avatar'] = $user_info['figureurl_qq_2'];
$data['create_time'] = time();
$result = Db::name('user')
                   ->insertGetId($data);
                   
           if(is_numeric($result)){
                   session('user', [
                           'u_id'=>$result,
                           'nickname'=>$user_info['nickname'],
                           'leval'=>0
                   ]);
           }        
}

}
 $this->redirect('portalCircle/index');

    }



注意事项:如果报“Unable to find the wrapper "https"错误的解决办法”错误。

PHP.ini默认配置下,用file_get_contents读取https的链接,就会如下错误:
Warning: fopen() [function.fopen]: Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?

这个错误分3种解决方案:
1.windows下的PHP,只需要到php.ini中把extension=php_openssl.dll前面的;删掉,重启服务就可以了。

2.linux下的PHP,就必须安装openssl模块,安装好了以后就可以访问了。

3.如果服务器你不能修改配置的话,那么就使用curl函数来替代file_get_contents函数,当然不是简单的替换啊。还有相应的参数配置才能正常使用curl函数。  


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部