来源:www.dustyblog.cn
-
一、 自建的登陆体系
-
1.2 引入第三方账户方案
-
-
二、 优化账号体系
-
2.1 原账号体系分析
-
2.2 新的账号体系
-
-
三、 一键登陆
-
3.1 背景
-
3.2 本机号码认证
-
-
四、小结
现在几乎大部分的 App
都支持使用多个第三方账号进行登录,如:微信、QQ、微博等,我们把此称为多账号统一登陆。而这些账号的表设计,流程设计至关重要,不然后续扩展性贼差。
本文不提供任何代码实操,但是梳理一下博主根据我司账号模块的设计,提供思路,仅供参考。
基于 Spring Boot + MyBatis Plus + Vue 3.2 + Vite + Element Plus 实现的前后端分离博客,包含后台管理系统,支持文章、分类、标签管理、仪表盘等功能。
GitHub 地址:https://github.com/weiwosuoai/WeBlog
Gitee 地址:https://gitee.com/AllenJiang/WeBlog
一、 自建的登陆体系
1.1.1 手机号登陆注册
该设计的思路是每个手机号对应一个用户,手机号为必填项。
流程:
-
首先输入手机号,然后发送到服务端。先判断该手机号是否存在账号,如果没有,就会生成随机验证码,将手机号和验证码绑定到
Redis
中,并设置一定的过期时间(过期时间一般是5分钟,这就是我们一般手机验证码的有效期),最后将验证码通过短信发送给用户。 -
用户接收到验证码后,在界面填写验证码以及密码等基础信息,然后将这些数据发送服务端。服务端收到后,先判断在
Redis
里面这个手机号对应的验证码是否一致,,失败就返回错误码,成功就给用户创建一个账号和保存密码。 -
注册成功后,用户即可通过自己的
手机号+密码
进行登陆。
问题:
-
用户体验差,需要完成获取验证码,填写验证码/密码/用户名等诸多的信息完成注册,然后才能使用;
-
容易遗忘密码,遗忘后,只能通过忘记密码来重新设置密码。
1.1.2 优化注册登陆
该方案的思路是弱化密码的必填性&#