收藏
回答

公众号网页授权获取到其他人的 unionId?

场景:新用户使用 snsapi_userinfo 拉起网页授权,拿到 code 之后通过后台获取 unionId,然后注册用户

问题:上面获取到的 unionId 是我们系统的另一个旧用户,导致新用户登录上了旧用户的账号。另外获取的用户信息中昵称是“微信用户”,如果是快照页模式为什么是获取到一个真实用户的 unionId?

参考文档: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html#3

使用 appId: wx3ae396a0c53d5239

发生时间: 2023-12-04 18:29:11

用户授权拿到的 code: 051NWZ0w3W5DP13TNh0w3LJxaW3NWZ0e

通过 code 换取 accessToken 日志: {"accessToken":"75__XzdC5_xbOaF-KME8vzqR_8u4WVG4zzFTcnBmhVt-ksm7AK1VG_BsApSHV4U0K11ODUgOiMmm6HJnapivlEUOZhkCzM6GNcMJ********","expiresIn":7200,"openid":"o6o21wAqe1bxm-yf0e3WIldI9z2g","refreshToken":"75_g8vUJ-qSCGrXyCcqqLnS8I4snW_IiZI7khqfwPjchWoNo0OgFJv23tap8-4x244hjZUaizn03SbwX_nzEaUrX-TyF3LP-88zX4jh*******","scope":"snsapi_userinfo"}

拉取用户信息日志: {"openid":"o6o21wAqe1bxm-yf0e3WIldI9z2g","nickname":"微信用户","sex":0,"language":"","city":"","province":"","country":"","headimgurl":"https://thirdwx.qlogo.cn/mmopen/vi_32/Q3auHgzwzM4tkpGVCbufIKWSvnG3ZUWjOfKGcH2OeEVhYn1ltbicREUXHsZa4UDhstDps6KtpvdmTjuVm3RqKuQ/132","privilege":[],"unionid":"o8Yuys2RbDFijvQY-GVkBB5HNlu0"}

新用户实际 unionId: o8YuysznpmRS8aCqTCN0LMciofXU,跟旧用户 o8Yuys2RbDFijvQY-GVkBB5HNlu0 不一样

补充: 新用户实际 openId 无法提供,因为两个用户是通过不同公众号授权,我们系统是根据 unionId 唯一标识用户


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

1 个回答

  • Jianbo
    Jianbo
    2023-12-08

    微信开放平台没有换,同一用户的unionId不会变。

    2023-12-08
    有用
    回复 1
    • 林曉彬
      林曉彬
      2023-12-11
      这正是我感到奇怪的点,加上授权拿到的是”微信用户“这个昵称,我不确定是不是微信那边生成的随机用户信息了
      2023-12-11
      回复
登录 后发表内容