切换风格

默认Lavender Sky Flowers Wizard Snow Beige California City Dragon Black London Sunset glow Pink Cloud

45

主题

1250

积分

4

精华

用户组 

易积分
5456
热心
99
好评
17

热心会员

PHP QQ接口 QQ快捷登陆实现[复制链接]
发表于 2018-7-17 13:58:49 | 显示全部楼层 |阅读模式
首先需要去申请一个QQ互联的接口,设置好各种参数
B0653F02318D4588A16C14E99CEB77DF.png
得到两个参数:APP ID 和 APP KEY
TIM截图20180717140509.png
在页面可以这样弄:
直接超链接转向接口地址:
https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=APP_ID&redirect_uri=成功授权后的回调地址&state=状态码&scope=get_user_info(请参考官网)


(状态码也可以是固定不变的)
然后就会出现这个网站,也就是快捷登陆的网站啦..登陆成功后会跳转到你成功授权后的回调地址 他会在你的后面加上一个Authorization Code和原始的state值
1052721AFCFD434BA87206BA5DBD5E7F.png
state可以用来验证,code是则用来获取QQ信息的一个值
php 代码如下:

  1. function login($code){
  2. $APP_ID="XX";
  3. $APP_KEY="XX";
  4. $redirect_uri="成功授权后的回调地址(同上)"
  5. $url = "https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=$APP_ID&client_secret=$APP_KEY";
  6. $url .= "&code=$code&redirect_uri=$redirect_uri";//给URL赋值
  7. $html = file_get_contents ( $url );//GET 访问,然后会返回一个我们下一步GET访问所需要的值,access_token,我们要用它来获取用户的OpenID
  8. $url = "https://graph.qq.com/oauth2.0/me?access_token=" . getSubstr ( $html, ‘access_token=’, ‘&’ );
  9. $html = file_get_contents ( $url );//GET访问 获取OpenID
  10. $userJson = json_decode ( getSubstr ( $html, ‘callback( ‘, ‘)’ ) );
  11. $userJson->openid;
  12. //这之后就是用openid在数据库里面搜索有没有相对应的账号,openid是用户的唯一标识,QQ它不会返回用户的QQ账号,而且不同的应用会有不同的openid,开始的时候我想错了,一直想着没QQ账号怎么来验证这个登陆的人是谁
  13. return;
  14. }
  15. function getSubstr($str, $leftStr, $rightStr) { // 取出中间文本
  16. $left = strpos ( $str, $leftStr );
  17. // echo ‘左边:’.$left;
  18. $right = strpos ( $str, $rightStr, $left );
  19. // echo ‘
  20. 右边:’.$right;
  21. if ($left < 0 or $right < $left)
  22. return ”;
  23. return substr ( $str, $left + strlen ( $leftStr ), $right – $left – strlen ( $leftStr ) );
  24. }
复制代码


个人博客:blog.icodef.com
回复

使用道具 举报

0

主题

108

积分

0

精华

用户组 

易积分
51
热心
0
好评
0
发表于 2018-7-26 12:24:44 | 显示全部楼层
学习学习学习学习学习
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

8

主题

112

积分

0

精华

用户组 

易积分
180
热心
0
好评
0
发表于 2018-7-25 09:17:59 | 显示全部楼层
666666666666666666666666666666
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

35

主题

1172

积分

0

精华

用户组 

易积分
220
热心
9
好评
0

热心会员活跃会员

发表于 2018-7-18 19:39:38 | 显示全部楼层
这个很不错
回复

使用道具 举报

1

主题

17

积分

0

精华

用户组 

易积分
350
热心
0
好评
0
发表于 2018-7-18 18:15:17 | 显示全部楼层
721771187 发表于 2018-7-17 22:11
666666666666666666666666666666666666

666666666666666666666666666666666666
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

1

主题

17

积分

0

精华

用户组 

易积分
350
热心
0
好评
0
发表于 2018-7-18 18:00:17 | 显示全部楼层
QQ快捷登陆实现QQ快捷登陆实现
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

0

主题

40

积分

0

精华

用户组 

易积分
378
热心
0
好评
0
发表于 2018-7-17 22:55:17 | 显示全部楼层
表示看不懂。。不过,还是看了一下
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

20

主题

448

积分

0

精华

用户组 

易积分
6569
热心
0
好评
0
发表于 2018-7-17 22:11:49 | 显示全部楼层
666666666666666666666666666666666666
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

QQ|sitemap|免责声明|RGB颜色对照表|手机版|小黑屋| 易如意 - E4A中文编程学习交流论坛

GMT+8, 2024-5-10 14:05 , Processed in 0.056046 second(s), 45 queries .

Powered by Discuz! X3.4

© 2001-2018 eruyi.cn

返回顶部