让wecenter支持unionid

三叔
三叔 http://www.sanshu.cn

1 人点赞了该文章 · 1573 浏览

一般微信公众号都是openid,但是多个应用(小程序、公众号)的同一个用户的openid都是不一样的。

这时候就会造成同一个主体(公司、个人)的多个应用里,相同的用户要注册好几次。

为了避免用户重复注册。微信就推出了unionid。

如果多个应用在微信开发者平台下绑定过,那不同的用户扫不同的应用都会返回一个相同的码,就是unionid,这个unionid。

unionid和openid 都会在授权登陆时返回,不过如果你没有去微信开发者平台绑定unionid不会出现。

所以第一步我们需要改变官方的微信用户表结构

执行下面SQL:

ALTER TABLE `aws_users_weixin`
ADD COLUMN `unionid` varchar(255) NULL AFTER `openid`,
ADD INDEX `unionid` (`unionid`) USING BTREE ;


然后在/models/openid/weixin/weixin.php的line 206行

找到

'openid' => $access_token['openid'],

在下面追加

'unionid' => $access_token['unionid'],

就可以了。

这样授权就可以保存unionid了。

后续怎么使用,等我先整合好。

发布于 2021-03-29 16:53

免责声明:

本文由 三叔 原创发布于 WeCenter ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

暂无评论