openid和unionid区别

xiaomengdie / 2024-10-23 / 原文

之前做过一个引导用户将微信号与公司的手机账号绑定的需求,虽然乍听上去挺简单,但其中涉及到的细节却比较多,而且也踩到了几个坑。涉及到的相关知识点有:

OpenID和unionid
OpenID:为了识别用户,每个用户针对每个公众号或小程序等应用会产生一个安全的OpenID,公众号或应用可将此ID进行存储,便于用户下次登录时辨识其身份,或将其与用户在第三方应用中的原有账号进行绑定
UnionId:UnionId也是用户的标识符,但它与OpenID不同的是,同一个微信用户,登录同一个开发主体下的多个小程序或公众号的时候,分配的UnionId是一样的。

可以打个通俗的比喻,比如某个用户是万达商场的会员,那么UnionId就是这个用户对应的万达会员标识,而这个用户又比较爱买买买,在万达商场的很多商店下面都是会员,那么此时每个商店赋予这个用户的会员号就相当于OpenID了,总而言之,在同一个开发体下,UnionId是唯一的,而OpenID不一定唯一。

一个用户两个手机账号,两个手机账号登录都登录小程序后,就不能分账了,用户的OpenID就是两个和,分账的时候只能的实名认证的那手机的的OpenID