openid有什么用?为什么不直接用unionid?什么情况下openid更适合被用?
发布于 7 年前 作者 qiuxiuying 11185 次浏览 来自 官方Issues

tldr;感觉openid没什么用。直接拿unionid不就可以了,openid为什么存在?openid会被deprecated吗?


一开始我以为微信的openid和国外的OpenID.net 的 OpenID是同个东西(OpenID由LiveJournalBrad Fitzpatrick开发,后来加入了Light-Weight Identity,Yadis,Sxip DIX protocol和XRI/i-names。)

然后发现unionid的作用其实更加像 OpenID.net之 OpenID。

那我想问下,微信的openid有什么用?大家都用openid做什么了?

openid会被deprecated吗?

5 回复

openid是针对每个应用的id。在过户之后,所有用户的openid不会变化。

但是unionid只是一个比较松散的联合,在应用过户之后,如果过户后从原来的开放平台里面解绑,那么unioinid可能就没有了,或者在开放平台里换了其他过户之后的账户,那么unionid就会发生变化。

从这点上,我觉得暂时没有取消的必要。其他方面,如果一直都是在一个开发者下面,我觉的其实很多都是只要unionid就可以了。

明显是没怎么写过代码的说的话。写代码去吧,写着写着就明白了。

u p d a t e


深思一会后,又回想起陆奇之前说的一个open data与privacy的问题。我觉得我大致明白openId背后的逻辑了。 我在SO上做了个回答,大家可以来看下~

https://stackoverflow.com/a/60479561/2041954

openId是这个用户在这个小程序里的唯一标识。每个用户肯定都有。

unionId是这个用户在小程序绑定的开放平台里的唯一标识,如果你没绑定微信开放平台那就没有。即使你绑定了也不一定能获取得到,还得看一系列条件。https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html

所以unionId的作用更多用于小程序、APP等多终端账号系统打通。如果你就一个小程序的话用openId就好,还不用弹授权弹框,静默方式就获取到了。

这问题有点奇特

回到顶部