tldr;感觉openid没什么用。直接拿unionid不就可以了,openid为什么存在?openid会被deprecated吗?
----
一开始我以为微信的openid和国外的OpenID.net 的 OpenID是同个东西(OpenID由LiveJournal的Brad Fitzpatrick开发,后来加入了Light-Weight Identity,Yadis,Sxip DIX protocol和XRI/i-names。)
然后发现unionid的作用其实更加像 OpenID.net之 OpenID。
那我想问下,微信的openid有什么用?大家都用openid做什么了?
openid会被deprecated吗?
openId是这个用户在这个小程序里的唯一标识。每个用户肯定都有。
unionId是这个用户在小程序绑定的开放平台里的唯一标识,如果你没绑定微信开放平台那就没有。即使你绑定了也不一定能获取得到,还得看一系列条件。https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html
所以unionId的作用更多用于小程序、APP等多终端账号系统打通。如果你就一个小程序的话用openId就好,还不用弹授权弹框,静默方式就获取到了。
u p d a t e
-----
深思一会后,又回想起陆奇之前说的一个open data与privacy的问题。我觉得我大致明白openId背后的逻辑了。 我在SO上做了个回答,大家可以来看下~
https://stackoverflow.com/a/60479561/2041954
openid是针对每个应用的id。在过户之后,所有用户的openid不会变化。
但是unionid只是一个比较松散的联合,在应用过户之后,如果过户后从原来的开放平台里面解绑,那么unioinid可能就没有了,或者在开放平台里换了其他过户之后的账户,那么unionid就会发生变化。
从这点上,我觉得暂时没有取消的必要。其他方面,如果一直都是在一个开发者下面,我觉的其实很多都是只要unionid就可以了。
大概意思就是,you(your company) register this account, but another person(ohter company) want to use this account. then you transfer this account to that one.
the account should be authenticated(person、company)。so the owner has been changed, the openid cannot be changed. but the unionid may be changed.
这个owner会绑定很多app,公众号,这些同一个用户会得到同一个unionid。所以我觉得你这个写法相当准确。
明显是没怎么写过代码的说的话。写代码去吧,写着写着就明白了。
这问题有点奇特