tp5项目实现QQ第三方登录

简介最近用thinkPHP 5框架做了我的博客添加qq登录,在开发过程中需要用到第三方登录,腾讯官方给的案例是几个文件相互包含实现的,放到tp5里面很悲催的发现在控制器中不能通过include或者require完成预期功能,

想要用腾讯官方封的类就必须对其进行修改,修改如下:

当然这快我是改好了

申请教程:https://www.yxxxm.com/article/95.shtml

申请地址:https://connect.qq.com/index.html

直接点击下载就好了.


百度云盘      码云


安装教程

  1. 下载代码

  2. 创建目录kuange

  3. 代码复制kuange下

  4. 放置extend下


使用说明

  1. 此包有tp5辅助函数其他框架需修改

  2. 配置config.php

    'qqconnect' => [
        'appid' => '101503005',
        'appkey' => 'd41323d9e8fa91d78c24582d8d897ec1',
        'callback' => 'https://www.yxxxm.com/qq_login',
        '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. 创建控制Oauth


use kuange\QC;
use think\Config;
use think\Controller;
use think\Db;
  1. 代码demo

class Oauth extends Controller
{
    public function qq()
    {
        $qc = new QC();
        return redirect($qc->qq_login());

    }


    public function qq_login()
    {
        $qc = new QC();
        $access_token = $qc->qq_callback();
        $openid = $qc->get_openid();
//        qq互联请求地址
//        https://graph.qq.com/user/get_user_info?access_token=YOUR_ACCESS_TOKEN&oauth_consumer_key=YOUR_APP_ID&openid=YOUR_OPENID
        $user = json_decode($this->CurlGet("https://graph.qq.com/user/get_user_info?access_token=" . $access_token . "&oauth_consumer_key=" . Config('qqconnect.appid') . "&openid=" . $openid));
        $nickname = $user->{'nickname'};
        $figureurl_qq_2 = $user->{'figureurl_qq_2'};
          TODO代码逻辑.....


    }


    //get请求
    function CurlGet($url)
    {
        return $this->CurlPost($url, "");
    }

    //curl 的post请求
    function CurlPost($url, $data)
    {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
        curl_setopt($curl, CURLOPT_URL, $url);
        if (!empty($data)) {
            curl_setopt($curl, CURLOPT_POST, true);
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        }
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        $result = curl_exec($curl);
        curl_close($curl);
        return $result;
    }




声明:
1,如果您发现本文件已经失效不能下载,请联系站长修正或留言!
2,本站提供的资源多数为百度网盘下载,对于大文件,你需要安装百度云客户端才能下载!
3,部分文件引用的官方或者非网盘类他站下载链接,你可能需要使用迅雷、BT等下载工具下载!
4,本站推荐的资源均经由站长检测或者个人发布,不包含恶意软件病毒代码等,如果你发现此类问题,请向站长举报!
5,本站仅提供文件的免费下载服务,如果你对代码程序软件的使用有任何疑惑,请留言。
6,本网站在文章内容仅供于学习参考使用,请勿作为商业通途使用,版权归原作者所有。如您对内容、版权等问题存在异议请与本站联系,我们会及时进行处理解决。

下一篇:

tp5写分页内容会重置怎么办?


上一篇:

Navicat


文章评论

Top