转载请写明转自 www.65chian.top
1.首先要去微信开放平台注册账号,其实申请了解网站应用开发(https://open.weixin.qq.com/cgi-bin/frame?t=home/web_tmpl&lang=zh_CN&token=41742f21338974b7b56791dadc5589171086b5ec),微信开放平台不像其他开放平台审核过程中会提供测试号,微信开放平台是要等你审核通过,并进行开发者资历认证后才可进行开发,因此要先申请,才能再测试
2.如何创建应用:
进入后按步骤一步一步操作,
授权回调 地址填写网站地址即可
3.开发者资历认证,要花300块钱进行认证,并且要求很高
4.认正通过后才可进行微信登陆等操作
5.代码如何写
例:login.php(转载请写明转自 www.65chian.top)
<?php
/**
* 请求微信登陆
*/
session_start();
$appid = "wx84a457fd757babda";
$AppSecret="facf50f2d2c6f17b949acc54336c917d";
$redirect_uri="http://webgame3.94php.com/weixin/user.php";
$url=UrlEncode($redirect_uri);
$STATE="wx".time().mt_rand(10000,99999);
$_SESSION['STATE'] = $STATE;
if(!empty($_SESSION)){
$login_url="https://open.weixin.qq.com/connect/qrconnect?appid={$appid}&redirect_uri={$redirect_uri}&response_type=code&scope=snsapi_login&state={$STATE}#wechat_redirect";
header("Location:".$login_url);
}
?>
回调文件 user.php(转载请写明转自 www.65chian.top)
<?php
/**
* 请求微信登陆
* 接收到code
* STATE与session进行比对防止csrf攻击
*
*/
session_start();
$code = $_GET['code'];
$STATE = $_GET['state'];
if(!empty($code) & $_SESSION['STATE']==$STATE){
$appid = "wx84a457fd757babda";
$AppSecret="facf50f2d2c6f17b949acc54336c917d";
$url="https://api.weixin.qq.com/sns/oauth2/access_token?appid={$appid}&secret={$AppSecret}&code={$code}&grant_type=authorization_code";
$wx = file_get_contents($url);
$wx_user = json_decode($wx,true);
//回调验证
if(!empty($wx_user['access_token'])&!empty($wx_user['openid'])){
//请求登陆地址
$login_url="/?ct=wxlogin&openid={$wx_user['openid']}";
header("Location:".$login_url);
}
}else{
echo "未知错误,请重新提交";
exit;
}
?>
请求登陆地址,为你网站登陆地址,在登陆页面进行验证,看看微信openid是否注册过,如何验证:建一个wx_login表,里面存本网站用户ID 和微信openid,然后在登陆页面查询此表,进行验证,如果有根据用户ID进行登录,没有就去注册页面,注册成功查信息插入到wx_login。
6.关于第三方登录
所有第三方登录都是通过官方给的接口,然后返回用户唯一的ID进行判断,然后登陆
转载请写明转自 www.65chian.top