目前UnionID开放机制,给开发者和用户都带来了不不要的麻烦
发布于 5 年前 作者 tao44 5553 次浏览 来自 问答

用户首先第一次通过小程序打开,此时因为该用户没有关注同一主体的其他公众号,或者使用过app,login的时候获取不到unionId,官方的解释是:

同一个微信开放平台下的相同主体的App、公众号、小程序,如果用户已经关注公众号,或者曾经登录过App或公众号,则用户打开小程序时,开发者可以直接通过wx.login获取到该用户UnionID,无须用户再次授权。


如果直接开放了unionid,就会出现这种情况:当你作为一个用户进入一个小程序,这个小程序并没要求你授权就直接把你的头像昵称显示出来(它之前把unionId对应的头像昵称都存了下来),但是这个小程序主体(open平台主体和公众平台主体并不相同)相关的任何一个应用你从来没用过,你会不会觉得很奇怪并且很不舒服,觉得自己在微信内的用户信息没有丝毫的保障?


第一:授权问题

目前规则是,同一个开放平台,相同主体,公众号A和小程序A属于一个主体,用户第一次打开小程序A的时候,login拿不到unionID,试想因为是第一次,开放unionID也暴露不了任何隐私,但是对于开发来说,后续这个用户关注公众号,因为第一次unionID,很容易就做好用户统一,且无需用户授权。这体验才是最好啊。

第二:卡券用户唯一问题

因为现在商户基本都是小程序和公众号,也都是绑定在一个开放平台,在卡券领取,分享,转赠的时候,都只有相对微信公众号的openID。一个场景,用户A分享一张券给用户B,用户B领取,事件中只能拿到openId,如果用户B只用了商户的小程序,没有关注公众号,此时只能创建新用户C。当用户B再次打开商户的小程序,却看不到这张券。其实用户B和C应该是同一个用户。

6 回复

跟上 跟上 兄弟们, 不要落队了

直接说结论,微信的这一整套openid体系就是个大坑

同一主体,应该指的是同一个开放平台认证主体吧

只要开放平台,微信公账号,小程序同一主体,那么unionID开放,对保护隐私,用户体验最佳权衡。卡券unionID也跟上。

回到顶部