app微信授权登录,公众号网页授权,手机号登录三个账号的关联处理

同一个产品,有公众号网页版(微信授权),app版(微信授权登录、手机号登录)

微信公众号openid和微信app授权登录的openid不一致
需要通过unionid来识别用户身份

前提:在微信开放平台中绑定公众账号,才能获取unionid

//微信公众平台
1、授权成功后
如果有此openid,登录此openid账号
否则有此unionid,登录此unionid账号
否则创建带openid、unionid数据的账号
2、绑定手机号
a、当前已绑定有手机号
如果新手机号已被绑定则失败
否则绑定此手机号
b、如果当前没绑定手机号
如果新手机号已创建账号,则将openid、头像等信息复制过去,改登录那条数据对应的账号
否则绑定此手机号

//微信开放平台app--手机号登录
1、登录
如果已有账号绑定此手机号,则直接登录此账号
否则创建含手机号数据的账号

//微信开放平台app--微信授权登录
2、登录
如果有此openid,登录此openid账号
如果有此unionid,登录此unionid账号
否则创建带openid、unionid数据的账号
3、绑定手机号
a、当前已绑定有手机号
如果新手机号已被绑定则失败
否则绑定此手机号
b、如果当前没绑定手机号
如果新手机号已创建账号,则将openid、头像等信息复制过去,改登录那条数据对应的账号
否则绑定此手机号

结果:
1、不管先登录公众号页面,还是先登app微信授权。数据库都有unionid,后登的将登录之前的unionid对应的账号
2、先有公众号或app微信授权账号且未绑定,后app手机号登录。则2个账号同时存在。等公众号账号去绑定手机号时,2个账号数据将合并,以手机号那条账号为主

缺陷:
1、当手机号账号和微信授权的账号同时存在时,且用户不在公众号网页登录、绑定手机号,2个账号将无法合并。手机号账号将无头像等信息,需要在个人中心页面,增加微信授权功能

posted @ 2019-02-14 16:19  瘦夹鲁尼  阅读(1655)  评论(0编辑  收藏  举报