首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[分享]网站微信授权登录详细教程

发布于 2025-04-15 10:27:25
0
6

通过接入微信登录功能,用户可使用微信帐号快速登录你的网站,降低注册门槛,提高用户留存,示例代码如下:第一步:请求CODE$AppID'wx427bd690bdd58f'; $App...

通过接入微信登录功能,用户可使用微信帐号快速登录你的网站,降低注册门槛,提高用户留存,示例代码如下:

第一步:请求CODE

$AppID='wx427bd690bdd58f';
$AppSecret='d4624c36b6795d1d99dcf0547af544';
$callback='https://www.z6.net.cn';   //回调地址
//微信登录
$state=md5(uniqid(rand(),TRUE));    //生成唯一随机串防CSRF攻击
$_SESSION["wx_state"]=$state;       //存到SESSION
$callback=urlencode($callback);
$wxurl="https://open.weixin.qq.com/connect/oauth2/authorize?appid={$AppID}&redirect_uri={$callback}&response_type=code&scope=snsapi_login&state={$state}#wechat_redirect";
header("Location: $wxurl");

第二步:通过code获取access_token

//配置
$AppID='wx427bd690bdd58f';
$AppSecret='d4624c36b6795d1d99dcf0547af544';
//得到 access_token 与 openid
$url='https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$AppID.'&secret='.$AppSecret.'&code='.$_GET['code'].
'&grant_type=authorization_code';
$ch=curl_init();
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($ch,CURLOPT_URL,$url);
$json=curl_exec($ch);
curl_close($ch);
$arr=json_decode($json,1);

第三步:通过access_token调用接口

//得到用户资料
$url='https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';
$ch=curl_init();
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($ch,CURLOPT_URL,$url);
$json=curl_exec($ch);
curl_close($ch);
$arr=json_decode($json,1);
评论
一个月内的热帖推荐
站长交流