微信第三方登录

到这里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;
   }

  

原文地址:https://www.cnblogs.com/spectrelb/p/7525364.html