2022-11-07
微信公众号最近修改授权登陆规则
《微信网页授权能力调整公告》
新增加授权快照功能,导致微擎部分的模块用户不选择授权就直接使用了
所以提示的就是下单用户不一致
修改方式
解决授权快照用户看不见的问题
思路,建议一个新的授权页面,或者弹窗,只需要在进行网页授权的时候,对他进行一下拦截,进入授权页面,然后再授权页面增加授权按钮
微擎框架内容需要修改
framework/accout/weixin.account.class.php
将原来的代码修改成
public function getOauthUserInfoUrl($callback, $state = '') {
return "https://open.weixin.qq.com/connect/oauth2/authorize?appid={$this->account['key']}&redirect_uri={$callback}&response_type=code&scope=snsapi_userinfo&forcePopup=true&state={$state}#wechat_redirect";
}
自己模块内容新增一个跳转方法,连接微擎到位即可
例如
public function doMobileLogin(){
global $_W,$_GPC;
if(empty($_W['openid'])||empty($_W['fans']['nickname'])||$_W['fans']['nickname']=='微信用户'){
mc_oauth_userinfo();
}else{
$url = '跳回原来的连接';
header("location: ". $url);
}
}