到这里https://open.weixin.qq.com,申请成为开发者,然后等着审核通过
通过了,创建网站应用,微信的回调域写个主域名就可以了,然后等着审核通过
通过了,得到正确的appid和appkey
利用composer安装 github地址:https://github.com/Yurunsoft/YurunOAuthLogin
composer require yurunsoft/yurun-oauth-login
写个首页,点击跳到login.php
<?php
require dirname(__DIR__) . '/vendor/autoload.php';
$wxOAuth = new YurunOAuthLoginWeixinOAuth2('yourapikey', 'yourapisecret','callback_url');
$url = $wxOAuth->getAuthUrl();
$_SESSION['YURUN_WEIXIN_STATE'] = $wxOAuth->state;
header('location:' . $url);
回调地址
<?php
require dirname(__DIR__) . '/vendor/autoload.php';
$wxOAuth = new YurunOAuthLoginWeixinOAuth2('yourapikey', 'yourapisecret','callback_url');
var_dump(
'access_token:', $wxOAuth->getAccessToken($_SESSION['YURUN_WEIXIN_STATE']),
'我也是access_token:', $wxOAuth->accessToken,
'请求返回:', $wxOAuth->result
);
var_dump(
'用户资料:', $wxOAuth->getUserInfo(),
'openid:', $wxOAuth->openid
);
会打印出登陆用户的信息,
拿到用户的nickname的时候,有很多带有emoji表情的名字,用了一个方法,过滤掉了(简单粗暴),但是存到数据库,在完美的显示出来,没有实现,太麻烦了
// 过滤掉emoji表情
private function filterEmoji($str)
{
$str = preg_replace_callback(
'/./u',
function (array $match) {
return strlen($match[0]) >= 4 ? '' : $match[0];
},
$str);
return $str;
}