UnionID与OpenID的区别

OpenID: 普通用户的标识,对当前开发者帐号唯一。一个openid对应一个公众号。

UnionID :用户统一标识。针对一个微信开放平台帐号下的应用,同一用户的unionid是唯一的。

微信的用户隐私策略:每个接入微信的应用(公众号、APP)就像一个独立的商场,用户使用这些应用就像逛商场,商场用会员卡识别用户,类似的,我们根据商场名字为每个用户生成了一张专属会员卡(openid),每张会员卡只能在对应的商场才能够使用,你不能拿着沃尔玛的会员卡去华润万家积分。这是一种安全的授权方式,如果没有这个会员卡,直接暴露微信号,就相当于拿着身份证去逛商场,丢失一个会员卡号远比丢失身份证号要安全。

那么问题来了,都是万达集团,万达大歌星与万达商场希望做到会员卡通用。微信在这里做了一个打通机制,对于同一个企业,在用户属性里面加了一个企业属性(UnionID),方便同一个企业在不同的产品中识别到同一个用户。
这个机制伴随着微信联合登录已经在微信开放平台(open.weixin.qq.com)推出了。获得了开放平台认证的企业,可以绑定10个手机应用、10个网站、10个公众号,他们对应的用户信息也可以互联互通。
强烈提示:对于开发团队而言,在接入微信登录之初,往往会忽视用户的UnionID,只记录了openid。这会导致后期账号打通时候,需要用户重新授权,运营成本增高,遇到此类问题的团队不在少数。

==============================
同一个用户在小程序和公众号的下的两个openid肯定不一样

如果小程序和公众号都绑定在同一个开放平台账号下的话,用户在小程序和在公众号下的unionid是一样的

如果先有公众号并且积累了大量粉丝,然后才有的小程序,然后想在小程序下也能识别公众号粉丝怎么办呢?

首先将公众号和小程序关联到同一个开放平台账号

通过API将公众号粉丝列表全部拉一遍,同时计算这些粉丝的unionid并保存起来

用户进入小程序时计算unionid,然后根据之前保存的公众号粉丝unionid的数据映射过去就好了

说句题外话,微信为什么要设计出用户对几个号的openid不一样的机制呢?想象一下如果一样会怎么样,几个大号把自己的粉丝openid一串就把整个微信的用户ID摸透了,换做你是平台建设者你能忍吗?

这是我之前微信社区提问的某位大神的回答。下面是我的总结

第一:每个应用下的openid是不同的,每个用户都会有openid

第二:每个用户都会有unionid,但是在同一个开放平台下,每个用户不管是什么应用,unionid是唯一的。

第三:早期没有开放平台,后面注册,可以生成唯一的unionid来保证用户是唯一的。后面上线小程序可以保证会员一致

作者:海天酱油zz
来源:CSDN
原文:https://blog.csdn.net/qq_32858649/article/details/82877023
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(微信小程序)