随着互联网的不断发展,网上的东西越来越多。而有些平台,为了留住客户,就开发一些
会员系统,通过会员,是不是发放一些福利给客户,从而达到留住客户,让客户更加喜欢
我们的平台的目的。但是随着这些平台越来越多,就造成许许多多账号,可能会让客户产生一种很乱、记不住的感觉。这个就出现了第三方登录。现在,基本上每个人都有QQ、微信,我们只需要记住我们常用的这些,然后我们在我们平台上调用第三方登录接口,就可以实现QQ、微信登录,从而不需要创建那么多账号,省去许多麻烦,现在就给大家介绍一些常用的第三方登录接口。
1、QQ登录
首先,我们需要去QQ开放平台创建应用,然后再回调地址写上我们的网站回调地址,然后提交审核,审核通过后,我们就会获得AppID、AppSecret。从而进行接下来的开发
$Client_id = "261****307"; //appkey
$Client_secret = "85593e16*********4aee42d7ff774"; //App Sercet
$Redirect_uri = "http://*********/Weibo/auth"; //回调地址
//接收code值
$Code = I('get.code');
if(!$Code) $this->error("code获取失败!");
//获取access_token
$url = "https://graph.qq.com/oauth2.0/token?client_id=$Client_id&client_secret=$Client_secret&grant_type=authorization_code&redirect_uri=$Redirect_uri&code=$Code";
$info = $this->httpsRequest($url);
//json转数组
$info_json = json_decode($info,true);
//获取access_token和openid,用于获取用户信息
$access_token = $info_json['access_token'];
$openid = $info_json['openid'];
通过以上,获取access_token和openid,用于获取用户信息
header("Content-type:text/html;charset=utf-8");
//获取用户信息
$info_url = "https://graph.qq.com/oauth2.0/token?access_token=$access_token&openid=$openid";
$ch = curl_init();
//设置选项,包括URL
curl_setopt($ch, CURLOPT_URL,$info_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
//执行并获取HTML文档内容
$output = curl_exec($ch);
curl_close($ch);
//此处可打印用户所有信息
//var_dump($output);
$userinfo = json_decode($output,true);
这样我们就获得了用户信息
2.微信登录
同样,我们也需要去微信开发平台去创建应用,获得AppID
$APPID= C('APPID');//AppID
$rand_code = 'M'.time().rand('100001','999999');//随机字符串
//登录后返回的地址
$REDIRECT_URI = 'http://www.leseulstore.com/Weixin/login_return?rand_code='.$rand_code;
//微信登录地址,也是二维码地址
$scope='snsapi_userinfo';//需要授权
$url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$APPID.'&redirect_uri='.urlencode($REDIRECT_URI).'&response_type=code&scope='.$scope.'&state=1#wechat_redirect';//登录验证
vendor("phpqrcode.phpqrcode");//调用二维码类
$level = 'L';// 点的大小:1到10,用于手机端4就可以了
$size = 7;// 下面注释了把二维码图片保存到本地的代码,如果要保存图片,用$fileName替换第二个参数false
$fileName ='Uploads/qcode/2.png'; // 生成的文件名
$QRcode = new \QRcode();
$QRcode->png($url, $fileName, $level, $size);//生成二维码
这样我们就生成二维码,通过微信扫描二位码登录。
以上,就是两个很常用的第三方登录。如果有什么不明白的,可以到第三方平台下载开放接口看一下。下面是向第三方发送请求的方法