UnionId和OpenId
微信登录最重要的两个返回信息,一个是UnionId,一个是OpenId。两者之间有着必然的联系。
首先,先来理一下微信开放平台的架构。开发微信登录,必须有一个开放平台账号(公众号授权可以不用,后面会讲到)。开放平台下面可以申请多个应用或绑定微信公众号(必须为服务号)。
如下图所示
APP登录:申请移动应用(做了微信支付的都知道怎么回事了哈);
电脑端登录:申请网页应用(必须有域名,还得填表什么的,具体就不说了);
微信公众号授权:主要场景是,在微信打开某个链接,然后用户统一授权给公众号,表示可以获取用户的微信信息。
开放平台和各种申请的应用或者公众号的关系,如下图所示(别问我为什么这都还要用图表示)。
可以把这想象成是订单主表和订单明细的关系(一对多)。
这跟OpenId和UnionId有什么关系呢?
OpenId,一个微信账户对应每一个应用或者微信公众号,有各自的OpenId,用来标记,这个微信账户,和这个应用,或者微信公众号的关系。
看图:
图上所示的应用和微信公众号都在同一个开放平台下。
但是这个关系即使是应用不在同一个微信开放平台下仍然成立。
UnionId,可以把UnionId看成是微信用户和微信开放平台的关系。
看图:
总结起来就一句话,一个微信和不同应用以OpenId联系,与开放平台下以UnionId联系。
如果觉得《php手机注册和微信登录统一 微信登录和公众号授权登录开发逻辑详解》对你有帮助,请点赞、收藏,并留下你的观点哦!