渠道
- iOS的微信登录
- 安卓的微信登录
- 小程序登录
- 手机号登录
- apple登录
怎么确认是同一个人
- 安卓和iOS的微信登录、小程序登录可以得到openid和unionid,他们的openid都不一样,unionid是一样的。
现在的情况
有很多人在早期注册时,还没有unionid,只有openid。
所以在这种情况下,如果创建了账号,数据库为:
user_id | openid | unionid |
---|---|---|
A | xxx | - |
此时使用微信登录app,会获得unionid,但找不到对应的user,则会新建一个,数据库为:
user_id | openid | unionid |
---|---|---|
A | xxx | - |
B | - | unionid_A |
等他再登录微信小程序时,如果已有token,则会登录A,当token失效重新登录时,会将unionid_A赋给A
user_id | openid | unionid |
---|---|---|
A | xxx | unionid_A |
B | - | unionid_A |
这样就导致,一个微信创建了两个用户…