微信小程序 openID 和unionID

OpenID: 普通用户的标识,对当前开发者账号惟一。一个openid对应一个公众号。 UnionID :用户统一标识。针对一个微信开放平台账号下的应用,同一用户的unionid是惟一的。 微信的用户隐私策略:每一个接入微信的应用(公众号、APP)就像一个独立的商场,用户使用这些应用就像逛商场,商场用会员卡识别用户,相似的,咱们根据商场名字为每一个用户生成了一张专属会员卡(openid),每张会员卡只能在对应的商场才可以使用,你不能拿着沃尔玛的会员卡去华润万家积分。这是一种安全的受权方式,若是没有这个会员卡,直接暴露微信号,就至关于拿着身份证去逛商场,丢失一个会员卡号远比丢失身份证号要安全。小程序

那么问题来了,都是万达集团,万达大歌星与万达商场但愿作到会员卡通用。微信在这里作了一个打通机制,对于同一个企业,在用户属性里面加了一个企业属性(UnionID),方便同一个企业在不一样的产品中识别到同一个用户。 这个机制伴随着微信联合登陆已经在微信开放平台(open.weixin.qq.com)推出了。得到了开放平台认证的企业,能够绑定10个手机应用、10个网站、10个公众号,他们对应的用户信息也能够互联互通。安全

###强烈提示:对于开发团队而言,在接入微信登陆之初,每每会忽视用户的UnionID,只记录了openid。这会致使后期帐号打通时候,须要用户从新受权,运营成本增高,遇到此类问题的团队不在少数。微信

获取unionID的4种方式: 一、调用接口 wx.getUserInfo,从解密数据中获取 UnionID。注意本接口须要用户受权,请开发者妥善处理用户拒绝受权后的状况。 二、若是开发者账号下存在同主体的公众号,而且该用户已经关注了该公众号。开发者能够直接经过 wx.login + code2Session 获取到该用户 UnionID,无须用户再次受权。 三、若是开发者账号下存在同主体的公众号或移动应用,而且该用户已经受权登陆过该公众号或移动应用。开发者也能够直接经过 wx.login + code2Session 获取到该用户 UnionID ,无须用户再次受权。 四、小程序端调用云函数时,当知足 UnionID 获取条件时可在云函数中经过 cloud.getWXContext 获取 UnionID函数

相关文章
相关标签/搜索