微信登录接口开发须知
- APP登录接口
- PC网站登录接口
- 微信移动网页登录接口(又称微信公众号授权登录)
- 移动端非微信自带浏览不支持微信登录
微信移动网页登录接口(又称微信公众号授权登录) 先要与开放平台绑定-绑定才可以获得 UnionID
关于UnionID机制
1、请注意,网页授权获取用户基本信息也遵循UnionID机制。即如果开发者有在多个公众号,或在公众号、移动应用之间统一用户帐号的需求,需要前往微信开放平台(open.weixin.qq.com)绑定公众号后,才可利用UnionID机制来满足上述需求。
2、UnionID机制的作用说明:如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为同一用户,对同一个微信开放平台下的不同应用(移动应用、网站应用和公众帐号),unionid是相同的。
openid和Unionid区别
每个接入微信的应用(公众号、APP)就像一个独立的商场,用户使用这些应用就像逛商场,商场用会员卡识别用户,类似的,我们根据商场名字为每个用户生成了一张专属会员卡(openid),每张会员卡只能在对应的商场才能够使用,你不能拿着沃尔玛的会员卡去华润万家积分。这是一种安全的授权方式,如果没有这个会员卡,直接暴露微信号,就相当于拿着身份证去逛商场,丢失一个会员卡号远比丢失身份证号要安全。
那么问题来了,都是万达集团,万达大歌星与万达商场希望做到会员卡通用。微信在这里做了一个打通机制,对于同一个企业,在用户属性里面加了一个企业属性(UnionID),方便同一个企业在不同的产品中识别到同一个用户。
数据库设计及数据存取
tab_user
id openid type //openid 存的微信的 unionid 或 QQ 的 openid 微博的 uid
tab_wx_user
id tab_user_id openid app_id //关联上方的 unionid 及相关用户的 openid
微信 openid 与 unionid 两个都存还是只存 unionid? 答: 都存,openid 有其他用处,发送消息,微信支付啥的要用到
如何微信数据与本地数据同步?
后台定时任务去轮询更新
用户每次授权、互动的时候更新用户数据。