开放平台解决什么
只有公众号或小程序时,用户身份是割裂的:同一个人在公众号、小程序、网站上各是一个 OpenID。开放平台把它们绑定到同一个主体下,让你能识别「这是同一个微信用户」,这对会员打通、积分互通至关重要。
OpenID 是「某应用里的某用户」,UnionID 是「同一主体下的同一个微信用户」。
开放平台能做的事
- 网站扫码登录用微信扫一下登录你的网站。
- UnionID 打通公众号、小程序、App 同一身份。
- 移动应用分享App 内容分享到微信。
UnionID:跨应用的统一身份
只要在开放平台注册了开放应用并绑定公众号、小程序,拿到的用户信息里就会带 UnionID。同一个人在不同应用里 OpenID 不同,但 UnionID 一致——用它做主键,就能把多端账号合并成一个会员。
// 同一用户在不同应用
公众号 openid = "AAA"
小程序 openid = "BBB"
UnionID = "SAME_USER" // 用它做会员主键
网站应用的网页授权
网站接入后,可以让用户点微信图标跳转授权页,同意后重定向回你的网站并带上 code,后端用 code 换 access_token,再拉取用户信息。整个流程和公众号网页授权同源,只是走网站应用的一套凭据。
移动应用与扫码登录
移动应用接入开放平台后,内置的微信 SDK 支持分享到好友朋友圈、微信登录。网站扫码登录则是在网页上放一个二维码,用户用微信扫、确认,网站轮询拿到登录态。
第三方平台:代开发与托管
如果你是服务商,要给很多商户代运营公众号或小程序,就用第三方平台(开放平台下的另一套能力)。商户授权给你后,你不用拿他的 AppSecret,而是用一套「平台代用」的凭据替他调用接口,安全又能集中管理。
第三方平台的价值
- 免代保管密钥用授权令牌替商户调接口。
- 批量托管一套后台管几百个商户账号。
- 代开发给商户小程序统一提审、发版。
授权流程与凭据管理
无论网页授权还是第三方授权,核心都是 code 换 token、token 过期要刷新。平台要把各商户的授权令牌加密存储、过期自动续,别在客户端暴露任何密钥。
小结与延伸阅读
开放平台让微信生态多端账号打通;第三方平台让服务商能安全地批量托管商户。理解 UnionID 与授权令牌,就理解了微信生态的账号底座。
- 公众号本身能力读《公众号内容运营与生态实战》。
- 消息与网页授权读《微信公众号开发:消息与网页授权》。
- 分享传播读《小程序分享裂变与社交传播实战》。