收藏
回答

根据code异常获取到了不属于他的openId

根据小程序获取到的code获取微信用户的openId,

在2023-12-25 14:33分左右,通过code:0e1mtbGa161BCG0EkYGa1EkhV82mtbGl,得到了一个OpenId:ohhbO5V-_RhNn2pFvCleqi0d0wGo

在当天16:49 左右,通过code:0d1CmW0w3e3sX13JmK0w3gL1eO3CmW09,同样也得到了上面的OpenId

但是这应该是分别两个不同的人进行发起的,不应该得到同一个OpenId才对,我查看了一下两个发起者的信息,分别属于不同的UA与IP地址(因为code 是微信提供的我无法确定发起者的微信真实身份,但是按照我们的逻辑与应用场景来说,肯定是两个不同的人)

这是一个偶发性的,概率很低,请管理员进行核实一下,是否存在上面描述的问题,感谢!

appId:wx00a6d2bbd6cf9160

回答关注问题邀请回答
收藏

3 个回答

  • 🇽 🇽
    🇽 🇽
    02-18

    解决了,各位。

    先说结论:确实是自身代码的问题,并非微信的问题(最开始工程中使用的一个通用的工具类中使用静态变量,因为静态的变量只有一份,是共用的,并且在使用中又对其进行了修改!!! 并发上来的时候都不知道谁拿到的谁的了,服了这个写代码的老六了)

    帖子里都是说个人代码问题啥的,没用,需要的是解决问题的思路,而不是谁对错的问题

    解决思路:

    之前最大的疑问点是不知道微信颁发的这个code是谁的,到底应该得到哪个openId。后来找到可以通过微信提供的(wx.getRealtimeLogManager)实时日志功能,把你想打印的日志推送到微信中,这个微信实时日志最大的好处是你可以只打印你的报文,他是知道这个报文是通过哪个openId上来的,这样我们就能确定某个code到底属于谁,然后根据code 在去查微信得到的openId对不对应(应该都是对的上的,那就借助这个日志打印工具看看自己在哪里出现的问题,慢慢缩小范围,定位问题)


    微信日志分析入口

    https://wedata.weixin.qq.com/mp2/login

    排查问题的示例图

    02-18
    有用 1
    回复
  • 风清雾云开见日出
    风清雾云开见日出
    2023-12-26

    code的有效期才5分钟,且同一个用户每次获取的code都不同,不可能同一个用户会出现同一个openid,检查你自己的代码

    2023-12-26
    有用
    回复 2
    • 🇽 🇽
      🇽 🇽
      2023-12-26
      你说的没错,我也说了是偶发性的概率很低,不是每次都出现的,所以才反馈的,因为我也确定不了这个code到底应该是谁的
      2023-12-26
      回复
    • 🇽 🇽
      🇽 🇽
      2023-12-26
      这两个人确实都有不同的openId, 但是我不确定这两个code 是不是同一个人发起的,因为这两个code得到的是同一个用户的openId, 所以问题点是这两个code 到底是一个人还是两个人发起的,要是两个不同的人发起的,那就是有问题的,我们确定不了这个问题
      2023-12-26
      回复
  • 啊哈
    啊哈
    2023-12-26

    应该不会出现不同的用户获取到同一个openid的情况,不然微信这么多业务都会有问题的。

    1、同一个用户每次获取到code,本来就会不一致;

    2、通过UA和ip不同,也不能排除是同一个用户操作的;


    2023-12-26
    有用
    回复 3
    • 🇽 🇽
      🇽 🇽
      2023-12-26
      所以我确定不了这个code,到底应该归属谁的,才会有这个疑问
      2023-12-26
      回复
    • 啊哈
      啊哈
      2023-12-26回复🇽 🇽
      所以你可以直接认为,code获取到的openid就是用户的唯一标识。你两个code获取到的openid一样,那就说明这两个code确实就是这个openid用户的。
      2023-12-26
      回复
    • 🇽 🇽
      🇽 🇽
      2023-12-26回复啊哈
      你说的很对,但是谁也无法确定这两个code,到底是一个人发起还是两个人发起的,也无法核实,一个低概率情况下出现的
      2023-12-26
      回复
登录 后发表内容