关于微信登录有这样的一个复杂的需求

1.系统要支持手机号登录,可以不绑定微信;
2.但是微信登录的用户一定要绑定手机号;
3.如果用户已经用手机号注册登录了,没有绑定微信,这里是User1
4.退出app,选择微信登录,这时候发现这个微信的unionId没有被绑定到任何一个user上
5.所以创建一个新User2返回,并提示前端这个user没有手机号,需要绑定手机号,
6.前端去打接口绑定手机号,发现手机号存在于另一个user1上面,
7.如果强行将手机号绑定到新的user2,那么旧的user1产生的数据就得不到关联
8.如果不绑定手机号,这个user2用户相关功能得不到使用,
9.如果提醒用户用user1手机号登录,登录后绑定微信,则第5步已经创建一个user2了,这个unionId已经被绑到另外一个user2上
10.所以关于上面这个逻辑一般是怎么处理

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 2
liyu001989

一点都不复杂,就是用户必须绑定手机号嘛。

  1. 微信oauth流程走完,获取 用户信息以后,可以不生成用户,让用户输入手机号,输入验证码。没有用户生成用户,有用户绑定完了。

  2. 如果微信登录就生成用户,那就是删除一个用户,绑定到另一个用户上,需要处理用户旧数据,参考头条

5年前 评论

好,可以

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!