php qq授权_基于php实现QQ授权登陆 - Go语言中文社区

php qq授权_基于php实现QQ授权登陆


第一步:

首先登陆QQ互联首页https://connect.qq.com/进行个人/企业认证。大概审核时间在一周左右。

ce7aa9b64bf45c2ca132296d7b76eb6e.png

认证通过之后创建应用:

9902832b8be29c10ff1911aec529b5c3.png

这里主要用到应用的APP ID 和 APP Key  这两个参数。

还要填写回调地址 就是请求qq接口获取code参数回调给你的地址

4df76a112db8686efd998a77786a8f0d.png

第二步:

准备工作做完之后就可以进行接入qq授权 这里直接上demo代码:

8ee846a3d299ebcffb343f264943f525.gif

/**

* Project:QQ授权登陆

* User: luokakale

* Date: 2019/1/25

* Time: 14:22

*/

//应用的APPID

$app_id = "";

//应用的APPKEY

$app_secret = "";

//【成功授权】后的回调地址,即此地址在腾讯的信息中有储存

$my_url = "http://XXXXXXX/login.php";

/*

* No1:获取Authorization Code

*/

session_start();

if(empty($code))

{

//state参数用于防止CSRF攻击,成功授权后回调时会原样带回

$_SESSION['qq_state'] = md5(uniqid(rand(), TRUE));

//拼接URL

$dialog_url = "https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url) . "&state=" . $_SESSION['qq_state'];

echo("");

}

//获取qq回调时返回的code参数

$code = $_REQUEST["code"];//存放Authorization Code

/*

* NO.2 通过Authorization Code获取Access Token

*/

if($_REQUEST['state'] == $_SESSION['qq_state'] ) {

//拼接URL获取access_token

$token_url = "https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&"."client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url)."&client_secret=" . $app_secret . "&code=" . $code;

$response = file_get_contents($token_url);

}

/*

* NO.3:获取用户openID

*/

//把传回来的数据参数变量化

$params = array();

parse_str($response, $params);

$graph_url = "https://graph.qq.com/oauth2.0/me?access_token=".$params['access_token'];

$str = file_get_contents($graph_url);

$user = json_decode($str);//存放返回的数据 client_id ,openid

/*

* NO.4:使用access_token来获取所接受的用户信息。

*/

$user_data_url = "https://graph.qq.com/user/get_user_info?access_token={$params['access_token']}&oauth_consumer_key={$app_id}&openid={$user->openid}&format=json";

$user_data = file_get_contents($user_data_url);//此为获取到的user信息

$user_data = json_decode($user_data, true);

06b0b1cc85b9fb18d4c75f724f0590bb.gif

拿到用户信息后可以进行一系列的逻辑判断。就这么简单。

本文属原创内容,为了尊重他人劳动,转载请注明本文地址:

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_39890633/article/details/115092237
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-06-20 22:18:39
  • 阅读 ( 465 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢