收藏
回答

第三方平台没有非同一主体小程序开放平台授权也能利用wx.getUserInfo获取解密UnionID

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.getUserInfo 微信iOS客户端 all all

一 情况描述:

现在有两个小程序,主体不一样

都只授权给我们的第三方微信开放平台下,没有绑定到开放平台

小程序A(AppID:wx03……31d5)授权情况:帐号管理权限_小程序,30,31,36,37

小程序B(AppID:wxc8……7ef8)授权情况:帐号管理权限_小程序,开发管理权限_小程序,开放平台帐号管理权限_小程序,30,31,36,37,40,41

实际上大概还会有两百多个类似的小程序B(对应不同商家,所以都是不同主体的,也没办法全部绑定到开放平台了)


只使用wx.getUserInfo进行解密获取,不用其他方法

获取、解密encryptedData都是用同一套代码,

都是用户弹窗授权后,后台即时解密获取到的信息,严格遵循文档流程,解密没有报错,能解出昵称等信息


二 目前效果:

小程序A 能成功获取到UnionID,小程序B 解密后为空

另外我们的第三方微信开放平台绑定的小程序C、D解密UnionID都会有值


三 问题:

(1)我想知道,小程序A 跟 小程序B 的 到底区别在哪里,导致了小程序B解密UnionID为空?

【提这个问题的最终目的还是希望 解决小程序B解密UnionID为空 的问题,因为想打通商家自己的公众号跟小程序用户信息,前期累积了很多公众号粉丝,但只有openID】


(2)还是说其实小程序A的情况也不应该能获取到UnionID,由于未知原因意外能获取了?


已经看过文档N次,也看过很多相关问题,确实没有找到相似情况,只能请求官方及各位大佬支持,帮忙看看了【鞠躬致谢】

最后一次编辑于  2020-01-02
回答关注问题邀请回答
收藏

1 个回答

  • 老张
    老张
    2019-12-20

    有点钻牛角尖了。

    我所知道的是,只要不绑定开放平台,获没获得unionid是无意义的,即使获得了也是毫无意义的。

    所以,你在不绑定开放平台的情况下,来讨论一个毫无意义的值,为什么这样,为什么那样,原因是什么?

    一旦你绑定了开放平台,又一定以及肯定可以得到正确的有意义的unionid,那你管它之前的为空不为空的原因是什么呢?

    好吧,其实我不知道具体原因,估计也没人知道,我是不会关心,估计也就你关心关心一下了。

    2019-12-20
    有用
    回复 6
    • 开发君
      开发君
      2019-12-20
      大佬您好,我这边的情况是第三方,大概有两百多个不同商家有自己的小程序(不同主体),如果都绑定到开放平台,相同主体也只能绑定50个,就没有办法都绑定到了。我们拿unionid的目的是为了打通商家自己的公众号跟小程序用户信息。然后现在只有这个商家能获取到,其他商家没有,很疑惑到底是哪里有问题啊。
      2019-12-20
      回复
    • 老张
      老张
      2019-12-20回复开发君
      总之,不绑定在同一个开放平台账号下,你拿到unionid也是没用的,也打通不了商家自己的公众号和小程序,拿到了unionid也都不一样,你拿到怎么匹配用户?
      2019-12-20
      回复
    • 开发君
      开发君
      2019-12-20回复老张
      鞠躬感谢大佬对我这个问题的回复。那如果像我们这种情况,能不能劳烦大佬给我们指条路,应该怎么处理啊?
      2019-12-20
      回复
    • 开发君
      开发君
      2019-12-20回复老张
      是需要每个商家都需要注册开放平台,然后绑定好各自的小程序跟公众号?我们是要怎么统一管理这些平台呢?如果大佬还有看到这个回复的话,劳烦大佬指点一下哈,谢谢
      2019-12-20
      回复
    • 老张
      老张
      2019-12-20回复开发君
      除了每个商家自己弄,可以试试多注册几个开发平台账号,只要保证同一商家的公众号和小程序绑定在同一个账号下就行了。
      2019-12-20
      回复
    查看更多(1)
登录 后发表内容
问题标签