我们的项目在线上跑了2年多了。2022年7月12号及以后,突然出现一种情况,有几个用户在未关注服务号的情况下,网页登录始终返回同一个人的信息,并且昵称始终未“微信用户”(关注服务号后,用户重新网页登录就正常了)。此用户与其他用户没有任何关系。这几个用户可以正常登录APP和小程序。
接入流程是按照文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html
- 前端获取code
- redirect 到后端二部曲,根据code获取access_token,在获取用户信息(主要获取unionId)。
请问这个是什么原因,因为代码都2年没动过了,排查了一天没有思路,来社区看看有没有同样情况的同学。
已破案
文档略坑,https://api.weixin.qq.com/sns/oauth2/access_token 这个接口会多返回一个字段is_snapshotuser =1 为虚拟账号,文档未体现,正常的用户不会返回 这个字段。
其他参考:https://developers.weixin.qq.com/community/develop/doc/00048c10410368a8e13e4f59151c00?highLine=is_snapshotuser
吐槽:微信的这个处理方式绝对是一个不负责任的处理,给虚拟账号,直接让依赖的业务系统串号,直接报错都比这种强。
这就是号称最牛的产品经理团队设计出来的,耻辱啊
这帖子估计要火