网站首页 > 教程文章 正文
详解微信公众平台UnionID和OpenID的区别
OpenID: 普通用户的标识(身份ID),对当前开发者帐号唯一。一个openid对应一个公众号。
UnionID :用户统一标识(主体ID)。针对一个微信开放平台帐号下的应用,同一用户的unionid是唯一的。
微信的用户隐私策略:每个接入微信的应用(公众号、APP)就像一个独立的商场,用户使用这些应用就像逛商场,商场用会员卡识别用户,类似的,我们根据商场名字为每个用户生成了一张专属会员卡(openid),每张会员卡只能在对应的商场才能够使用,你不能拿着沃尔玛的会员卡去华润万家积分。这是一种安全的授权方式,如果没有这个会员卡,直接暴露微信号,就相当于拿着身份证去逛商场,丢失一个会员卡号远比丢失身份证号要安全。
那么问题来了,都是万达集团,万达大歌星与万达商场希望做到会员卡通用。微信在这里做了一个打通机制,对于同一个企业,在用户属性里面加了一个企业属性(UnionID),方便同一个企业在不同的产品中识别到同一个用户。
这个机制伴随着微信联合登录已经在微信开放平台(open.weixin.qq.com)推出了。获得了开放平台认证的企业,可以绑定10个手机应用、10个网站、10个公众号,他们对应的用户信息也可以互联互通。
强烈提示:对于开发团队而言,在接入微信登录之初,往往会忽视用户的UnionID,只记录了openid。这会导致后期账号打通时候,需要用户重新授权,运营成本增高,遇到此类问题的团队不在少数。
openID是唯一的,公众号只有绑定在微信开发平台下面,才会有unionid,如果只有一个公众号,不用管unionid,只用openid,但是有多个应用,比如微信里面有,pc端也要微信扫码登录,尽早把公众号绑定到微信开发平台,然后使用unionid。
文章来源:
https://www.cnblogs.com/panchanggui/p/11304466.html
openID怎么生成
前端调用微信api:wx.login() 得到code 交给我们的后端 后端根据code再调用微信的方法生成openID和sessionKey
unionID怎么生成
前端授权之后调用微信api:wx.getUserInfo() 得到一些参数 交给我们的后端 后端经过解码等操作生成unionID
图片来源:
https://www.cnblogs.com/zoo-x/p/14794682.html
猜你喜欢
- 2025-06-13 微信服务号高级接口精准群发案例(服务号 群发)
- 2025-06-13 点点客刘清剖析微信UnionID和微信登陆
- 2025-06-13 微信向移动开放平台又迈进了一大步:微信开放平台更新,“微信登录”功能邀请内测
- 2025-06-13 深度解读:微信里的“授权”是什么意思?
- 2025-06-13 uniapp中微信小程序获取用户唯一标识openid
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)