1、介绍

为什么要有第三方登录:关于第三方登录,你应该知道的

现在很多网站都集成了第三方帐号登录的功能,比如QQ登录、微信登录、微博登录。

使用第三方帐号登录目的,简化用户注册的流程,实现快速的注册登录。

第三方登录基本流程:①跳转到第三方认证页面 ②回调地址中的处理

2、签约

QQ登录接口,使用也需要申请。

腾讯开放平台:腾讯开放平台beta|开放成就梦想

腾讯开放平台注册:腾讯开放平台 OPEN.QQ.COM

QQ互联平台网站:QQ互联官网首页

点击应用管理,会要求登录

登录之后,点击应用管理,第一次登录此平台会要求注册成为开发者

分为公司接入和个人接入。

公司接入需要营业执照信息。这里我们平时使用可以选择个人接入

注册成功之后等待审核,通过之后进入应用管理

.

审核通过之后可以创建应用了。

选择创建网站应用

进入资料填写页面,填写完成提交

提交成功之后,需要继续完善相关信息

创建成功,进入应用管理页面,可以看到刚创建的应用处于审核中状态

审核成功和审核失败状态下,操作栏都有一个查看按钮,可以点击查看应用详情

参考:

APP ID :101542020

APP Key :539cd4f7784f107fa74ad58d87b5c916

回调地址:(你自己的已经备案过的域名)People.com | Celebrity News, Exclusives, Photos and Videoshttp://www.tpshop.com/index.php/home/login/qqcallback

说明:不管审核成功还是审核失败,qq登录的接口都可以使用,区别是,审核成功后所有人的qq都可以登录,审核失败只有申请人的qq可以正常登录。

为了测试qq登录,重新配置一个域名 www.tpshop.com 指向 pyg/public目录

站点域名管理

域名解析

127.0.0.1       www.tpshop.com

3、SDK的下载和配置

在QQ互联平台网站,点击 “文档资料”

进入SDK下载页面:

在页面找到网站接入 sdk php版本

SDK配置:

① 将解压后的目录,移动到public/plugins/目录下,改名为qq

② 在浏览器直接访问:域名/plugins/qq/index.php

③ 点击“设置配置项”,进入配置页面

按照要求填写相关的信息,点击“配置”

③ 点击“查看example”,打开测试页面。

点击“用QQ帐号登录”,可以打开qq登录的小窗口。

④ 按照回调域,在Home模块Login控制器新增qqcallback方法

YurunOAuthLogin: PHP 第三方登录授权 SDK,集成了QQ、微信、微博、Github等常用接口。QQ群:17916227。本仓库仅用于存档,不再发布更新日志,请移步 Github:https://gitee.com/yurunsoft/YurunOAuthLogin?_from=gitee_search

安装

在您的composer.json中加入配置:

PHP >= 5.5.0

{"require": {"yurunsoft/yurun-oauth-login": "~3.0"}
}

PHP < 5.5.0

{"require": {"yurunsoft/yurun-oauth-login": "~2.0"}
}

完成后要更新  composer update

3.x 版本支持 PHP >= 5.5,持续迭代维护中

2.x 版本支持 PHP >= 5.4,支持长期 BUG 维护,保证稳定可用,停止功能性更新

在 config配置文件中建一个auth

return['qq'=>['appid'=>101542020,'appkey'=>'539cd4f7784f107fa74ad58d87b5c916','callbackUrl'=>'http://www.tpshop.com/index.php/home/login/qqcallback'],
];

控制器

<?php
declare (strict_types=1);namespace app\home\controller;use app\home\model\User;
use think\App;
use think\Log;
use think\Request;class Login{
//    表中要用的数据 打开类型
//用常量定义方便取值const OPEN_TYPE_QQ = 'qq';/*** qq登录平台** @param \think\Request /e $request* @return \think\Response*/public function qqLogin(Request $request){$qqOAuth = new \Yurun\OAuthLogin\QQ\OAuth2(config('auth.qq.appid'), config('auth.qq.appkey'), config('auth.qq.callbackUrl'));$url = $qqOAuth->getAuthUrl();header('location:' . $url);}/*** qq回调** @param \think\Request $request* @return \think\Response*/public function qqcallback(Request $request){
// 获取accessToken$qqOAuth = new \Yurun\OAuthLogin\QQ\OAuth2(config('auth.qq.appid'), config('auth.qq.appkey'), config('auth.qq.callbackUrl'));$accessToken = $qqOAuth->getAccessToken($request->get('state'));// 用户资料$userInfo = $qqOAuth->getUserInfo();
// 用户唯一标识$openid = $qqOAuth->openid;$userData= User::where('open_type', self::OPEN_TYPE_QQ)->where('openid', $openid)->find();if($userData){$userData->update_time=time();$userData->nickname=$userInfo['nickname'];$userData->save();}else{$addUser=['nickname'=>$userInfo['nickname'],'figure_url'=>$userInfo['figureurl'],'open_type'=>self::OPEN_TYPE_QQ,'openid'=>$openid,];$user= User::create($addUser);}$userData= User::where('open_type', self::OPEN_TYPE_QQ)->where('openid', $openid)->find();return redirect('http://www.tpshop.com/home/index/create');}

待完善

PHP 第三方登录 (QQ登录)相关推荐

  1. Springboot网站第三方登录——QQ登录

    Springboot网站第三方登录--QQ登录 这段时间为了做这几个第三方登录,走了很多弯路,跳了很多坑,为以后使用特地记录下来. 由于做了多个登录,所以代码做了一定程度的封装,大致如下: //多个登 ...

  2. 第三方平台授权登录— —QQ登录

    第三方平台授权登录- -QQ登录 本来前两天开开心心!心情乐乐!居然因为自己没有仔细看代码.居然被埋在这里两天!呜呜!怒火中烧!不行,我要去消灭 五碗大米饭 来平复我的心情! <程序运行图> ...

  3. 第三方登录 QQ登录(一) 申请接口

    申请QQ的第三方登录接口,你必须有一个在国内备案过的网站,个人的网站也可以. 1.成为开发者 进入QQ互联的官网:https://connect.qq.com,使用QQ登录. 登录之后点击右上角的头像 ...

  4. 【Spring Security OAuth2笔记系列】- Spring Social第三方登录 - QQ登录下

    qq登录下 前面把所有的代码组件都弄好了.现在可以开启调试了 在这之前你需要有一个qq互联的应用:也就是为了拿到appid和appSecret:自己去qq互联创建一个应用即可 这里讲下本地怎么调试应用 ...

  5. 完整电商项目--(四)用户登录(4):第三方登录-QQ登录(续,关联网站账号)

    文章目录 上一节已经讲过了如何利用第三方QQ登录.下面讲下 绑定 网站账号的操作. (1)创建QQ模型类 具体接口业务流程: 下面就是视图了 注意:另外不能迷的是,一定要搞清楚,浏览器,QQ服务端,d ...

  6. 美多商城之用户登录(QQ登录)

    二.QQ登录 2.1 QQ登录开发文档 QQ登录:即我们所说的第三方登录,是指用户可以不在本项目中输入密码,而直接通过第三方的验证,成功登录本项目. 1. QQ互联开发者申请步骤 若想实现QQ登录,需 ...

  7. Android 三方登录 - QQ登录

    由于项目需要三方登录,所以根据官方文档和一些其他资料,完成了一个Demo,这里记录一下. (1)申请腾讯开发者账号 到腾讯开发这平台(http://open.qq.com/)注册账号,很简单的. (2 ...

  8. java 模拟qq空间登陆_java最新完美实现模拟登录QQ登录QQ空间获取说说

    package com.pengliu.config; import com.pengliu.util.http.HttpService; /** * desc: 全局公共属性配置 */ public ...

  9. QQ自动登录/QQ登录器/程序源代码/VS2010/VS2012/VC/MFC

    学习豪迪,研究了一下QQ自动登录怎么写. 以前QQ登录的介面先用SPY++来找到QQ登陆框,然后再把密码copy进去,就可以了. 现在的QQ登录介面这招不行,用SPY++是找不到任何ID的. 怎办呢? ...

  10. android+qq登录测试,对于android的第三方(QQ登录,微信登录等的)测试时的签名配置...

    当程序中使用了第三方的功能,比如分享.地图时,要求程序必须是已签名的 在Gradle中配置签名后,可以使我们的Debug也带上签名,而不需要使用Build/Generate Signer Apk去编译 ...

最新文章

  1. android 显示 PDF 文件
  2. sigterm sigint sigkill 区别
  3. python开发安卓程序-用python开发android应用(1)
  4. 将Android应用程序打包
  5. 使用OData协议查询Windows日志
  6. 抄底王牌tdx 副图(无未來函数)
  7. 62. 拆分初始化负载
  8. 斗鱼视频sign签名逆向分析
  9. java nio wakeup_Java NIO的wakeup剖析
  10. 网页中设定表格边框的厚度的属性_补充一点前端知识
  11. 计算机专业素质拓展,创新与素质拓展学分.doc
  12. 有限等距性质RIP理解
  13. 4.6 定位解算和1PPS时标支持
  14. Java中的四个核心技术思想
  15. docker 安装mysql、canal、redis实现redis和mysql缓存一致性
  16. pyspark 划分训练集、验证集、测试集(全网之最)
  17. 报名启动 | 2021华为软件精英挑战赛正式开启,冠军奖金20万!
  18. 大学四年生活总结_从大一到就业——大学生活总结(上)
  19. 2020-2021 ICPC, NERC, Southern and Volga Russian Regional Contest B. Bakery
  20. 图形图像概念以及在android中的应用

热门文章

  1. python英寸与厘米交互_运用python实现英制单位英寸与公制单位厘米互换
  2. DESeq2归一化算法详解
  3. oracle ebs 的预克隆
  4. 摄影测量与计算机视觉--历史与发展
  5. iOS 图表工具charts之BarChartView
  6. 2022新东方考研英语百度云全程
  7. 应用系统中的报表开发成本知多少?
  8. 图片缩放、旋转、加水印
  9. vivox21支持html,vivo X21支持nfc吗_vivo X21支持otg吗-太平洋IT百科手机版
  10. ValueError: At least one stride in the given numpy array is negative