评论

微信unionid作为用户唯一信息设计缺陷

基于微信体系设计用户身份系统存在的缺陷,建议大家都设计自己的登陆系统

原微信开放平台账号A 下绑定公众号C1,和小程序C2

客户从C,从公众号C1或小程序C2 进入系统, 先通过openid找查用户uid,如果查不到,再通过unionid查uid,都查不到,就说明是一个新用户,创建新的uid。

当申请了新主体的微信开放平台B,要把公众号和小程序C2 都从A开放平台解绑,绑定到新开放平台B下时,就出现设计层面的BUG。

如果用户C只从公众号C1进入过系统,并购买了商品。 绑定到新开放平台B后,用户从小程序C2处进来,通过openID去查用uid查不到用户,而此时获取到的unionid已经和从公众号进入时获取到的不一致(由于开放平台绑定关系变动,用户的unionid会变), 就会判定为是一个新用户(出现了一人多用户问题,用户从公众号和小程序进入被分割为是不同的用户)。

请问该怎么操作,才能保证C不管是从公众号C1或者小程序C2,进入。身份都是统一的C, 网上找了一圈没有找到答案,官方也没有文档!

(吐糟一下微信对开发人员的服务支持,真是最烂的,真碰到问题,那里都找不到人,也找不到沟通渠道。

点赞 1
收藏
评论

2 个评论

  • 王大亮
    王大亮
    02-02

    123123

    02-02
    赞同
    回复
  • 苗春雨
    苗春雨
    2019-12-12

    给你的吐槽点赞。。。

    个人觉得这个就是他们设计的时候没有考虑那么多情况,特别是换新开放平台的情况。。。这种情况可能就得迁移一些乱七八糟的数据了。

    我们现在的做法是让客户在一些关键操作前,绑定手机号(或者uid告诉客户记住)。。。然后新的平台,在绑定同一个手机号,就认为是一个了。。。这样还会出现你说的问题,当成新用户进来,只是绑定手机之后,新用户就删除了,这个人回到原来的那个绑定手机的位置了....但是没有绑定手机的。。。就没法了,只是我们默认那种没绑定手机的用户,就是不算我们很重要的客户,暂时就放养了。。。

    2019-12-12
    赞同
    回复
登录 后发表内容