如果应用程序存在多个端。
比如一个应用同时存在 微信小程序端 ,APP端,抖音小程序端,公众号H5端 这种多端共存时。
每个基于auth2.0授权模式的 第三方平台都会开放登录授权SDK方便接入用户一键授权登录功能 。
在这种情况下如果需要多端统一账号(比如一个账号可以同时绑定微信公众号授权,微信小程序授权,微信APP授权)就必须避免多端授权自动登录注册时生成多个账号的情况
我的做法是将 “手机号” 作为多端统一的 “唯一性” 来验证
即是说新注册的用户必须有且必须绑定一个手机号才能注册成功
以下是我画的第三方自动授权登录的通用流程图,已经过生产环境的考验,可以放心食用。
这是2024年4月12号留:此时我再次回望此篇文章,发现并未存在unionid的相关逻辑,所以我改良了流程,增加了此逻辑,并展示出基于我现有最大规模项目所采用的用户账号关系结构,希望能在这方面对你们有所帮助。
当然,看完流程图你可能会疑惑:如果我只是普通手机号+验证码登录呢?什么open-id都没有? 这个流程就更简单了!基本不需要写流程图,只要判断手机号用户是否存在,存在了直接登录,不存在就根据手机号创建新用户再执行登录即可!