php qq授权_PHP模拟QQ网页版授权登录的案例

PHP模拟QQ网页版授权登录的案例

发布时间:2020-10-31 01:28:09

来源:亿速云

阅读:78

作者:小新

PHP模拟QQ网页版授权登录的案例?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

第一步:

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

6aefb48696edbb2ce9651905fe0596a3.png

认证通过之后创建应用:

902fd583d13b45cf479dbcc62351d0de.png

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

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

4e8115220faf3b0e901abbfb58dcb3d1.png

第二步:

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

/**

* 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/oauth3.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/oauth3.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/oauth3.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);

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

感谢各位的阅读!看完上述内容,你们对PHP模拟QQ网页版授权登录的案例大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注亿速云行业资讯频道。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值