首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
腾讯第三方登陆OAuth验证 数据入库
时间:
2015-05-14 22:08:26
阅读:
227
评论:
0
收藏:
0
[点我收藏+]
标签:
1.在腾讯开放平台中注册应用 平台会给一个
<meta property="qc:admins" content="066705620216056762700063671645060454" />
复制到index.html中放到外网中进行验证
2.验证成功以后会得到:
App Key : 101213361
App Secret : 3bd600efbe3a1cd85f477111af410550
3. index.html 中的代码:
<html>
<header>
<meta charset=‘utf-8‘></meta>
<meta property="qc:admins" content="066705620216056762700063671645060454" /></header>
<a href="
https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=101213361&redirect_uri=http://hejinpeng.bwphp.cn/index.php&state=test
"><img src="./qq.png" alt="" /></a>
</html>
将id="" 改为自己的App Key
redirect_uri 为自己的外网域名 传参数 目标跳转index.php
4.index.php 中代码:
<?php
header("content-type:text/html;charset=utf-8");
//获取Authorization Code client_id client_secret 区分不同用户的钥匙
//回调
$url = ‘
https://graph.qq.com/oauth2.0/token?client_id=101213361
‘
.‘&client_secret=7e23e11abfe567125b4b12984977d75b‘
.‘&redirect_uri=
http://hejinpeng.bwphp.cn/index.php
‘
.‘&grant_type=authorization_code‘
.‘&code=‘.$_REQUEST[‘code‘];//访问
https://graph.qq.com/oauth2.0/token
,传值APPID,APPKEY,并接收到Authorization Code
$info = file_get_contents($url);//得到Access Token//access_token 授权
print_r($info)."</br>";
$params = array();
parse_str($info, $params);//把接收到的字符串转化为数组
//print_r($params[‘access_token‘])."</br>";//die; $params[‘access_token‘]为接收到的token值
$url1=‘
https://graph.qq.com/oauth2.0/me?access_token=
‘.$params[‘access_token‘];
$open=file_get_contents($url1);//访问
https://graph.qq.com/oauth2.0/me?access_token
传值token 得到callback响应函数
//print_r($open);"<br/>";
$str1 = substr($open,9,-3);//将得到的字符串截串为json格式数据
$arr= json_decode($str1, true);//解析json数据,true设置可以使json数据以数组格式打印出
//print_r($arr[‘openid‘]);echo "<br/>"; //$arr[‘openid‘]为openid
//die;
$url2="
https://graph.qq.com/user/get_user_info?access_token=
".$params[‘access_token‘]."&oauth_consumer_key=101213361&openid=".$arr[‘openid‘];//访问
https://graph.qq.com/user/get_user_info
传值token,APPID,openid
//print_r($url2); echo "<br/>";
$data=file_get_contents($url2);//抓取用户信息数据 返回json格式数据
//print_r($data);die;
/*以下为入库*/
//判断数据库是否存在
// $db = new PDO("mysql:host=localhost;dbname=root","root", "root");
$aa = @mysql_connect(‘hejinpeng.bwphp.cn‘,‘hejinpeng‘,‘1234‘);
$db = mysql_select_db(‘hejinpeng‘);
$selSql = "select userid, token, openid, type from oauth where token= ‘".$params[‘access_token‘] ."‘ and type = ‘qq‘";
//print_r($selSql);die;
// $selRe = $db->query($selSql);
$selRe = mysql_query($selSql);
$num = mysql_num_rows($selRe);
// $num = $selRe->rowCount();
if($num>0)
{
echo "欢迎再次登陆!";exit;
}
// $addRe= $db->exec($addSql);
// print_r($addRe);die;
// $addRe= mysql_query($addSql);
$addSql = "insert into oauth (token,openid,type) values (‘".$params[‘access_token‘]."‘,‘".$arr[‘openid‘]."‘,‘qq‘)";
$addRe= mysql_query($addSql);
if($addRe)
{
echo "登陆成功!";exit;
}
echo "登陆失败!";exit;
腾讯第三方登陆OAuth验证 数据入库
标签:
原文地址:http://blog.csdn.net/musicpeng/article/details/45725031
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!