如何设计一套注册登录体系?
万事开头难。
对于一个互联网产品来说,账号体系的设计是一切的根基。
账号是产品与用户之间的绑定关系,是用户在产品中的唯一性凭证。我们在企业工作中很少有机会参与一个产品从零到一的设计,很少能参与产品体系的搭建,这一模块反而成为最熟悉的陌生人。
今天带着大家一起探讨『如何设计一套账号注册登录体系』,开启一个产品的『从零到一』。
当我们接到一个需求的时候,第一个肯定要问一个为什么?这东西为谁存在?解决了什么问题?采取了什么方式?
这三问堪称产品经理接需求时的『产品三连』,只有搞清楚这三个问题,需求才会清晰和有意义。
一、需求分析
痛点:用户在产品中如果没有账号,无法确认用户与产品的唯一联系,账号是用户的标识,用以确认身份,在产品中进行数据分发、权限分发等。
账号就像是产品体系下的身份证。
比如对于微信来说,每个账号的消息、朋友圈、通讯录、各种服务都不相同,账号将这些区分隔离并加以保护。只有确认了账号,确认了身份,才会让用户进入产品中使用。
那么是不是所有产品都需要账号体系?
答案肯定是否定的。
『如无必要,勿增实体』,如果用户与产品之间不需要建立绑定联系,不需要根据账号信息进行数据分发,那么可以没有账号。比如一些工具型的产品:一些小型游戏、秒表、计算器等。
二、业务分析
What:一个完整的账号体系业务主要包括五个模块:
无论是注册、登录还是找回密码,目的都是引导用户使用产品,而风险控制则是为了保护用户账号的安全。
账号体系涉及的五个模块,软件制作:MindNode
1. 账号注册主流程
在判断账号是否注册时,为了防止恶意攻击,通过手动或自动化程序测试账号是否注册,这里应该做风险控制,如连续3次账号未注册,后续每次输入账号都需要验证(如输入验证码,滑动验证等)才会继续流程。
账号注册流程图
2. 账号登录主流程
账号可能是手机号、邮箱号或其他,大部分App均支持手机号验证码登录,这里也分析此流程。
第三方账号登录一般情况下有两种情况:
①主流社交账号如微信、QQ、微博、Facebook等的登录,对于已绑定的账号,直接唤起相应App进行授权登录,对于未绑定的账户,则还需要进行绑定;
②同一公司体系下产品的账号,如腾讯系的腾讯视频、王者荣耀等,无需注册,使用一套账号(微信、QQ)授权登录。
账号登录流程图
3. 找回密码流程
找回密码流程图
三、结构设计
结构设计,就是从信息架构和功能架构两个角度对产品的描述。
对于一个账号体系,从用户角度看,主要功能包括注册、登录、找回密码等。
账号注册登录的信息架构图
四、原型设计
1. 登录主流程设计
首先要明确登录界面要解决什么问题?这个界面的用户大概可以分为以下3类:
- 已注册的用户且记得密码
- 已注册的用户且不记得密码
- 未注册的新用户
所以登录主界面包含几个功能,应该包括:
- 账号密码登录
- 找回密码
- 注册
登录这里我们还增加了手机号验证登录和第三方账号登录。
无论是注册还是找回密码还是登录,最终目的都是为了用户能更流畅地登录。
账号登录页面流程图
异常情况
这里的异常情况主要包括:
- 账号格式错误
- 账号密码错误
- 网络异常等
我们需要对异常情况加以区分并给出清晰的提示。
提示的文案规范有一个格式:错误原因+引导用户操作。
如『网络异常』+『稍后重试』。
登录是一个对安全性要求很高的功能,所以这里必要地加入风险控制,如输错密码时候的惩罚机制,这个大家在类似于手机解锁时也会遇到,至于惩罚机制,具体怎么限制就看各个产品对于安全程度的要求。
我们分析一下,什么情况下用户会频繁输错密码。
是不是有两种主要的情况,一是用户对密码记不太清楚了,在这里抱着试一试的心态在登录。那么这里可以加一个引导,在连续输入错误密码3次的时候,可以提醒用户是否找回密码,提高用户体验,加速登录流程。
还有一种情况是账号不是该用户的,用户在暴力破解密码。这时候就必要地加入惩罚机制以保障用户的账号安全。
这里有一个思考点,那就是这个惩罚机制是以什么维度去统计密码错误次数的呢?
个人认为最好是以账号+终端统计而不要单纯以账号统计。
试想一下这样的场景,在设备1上暴力破解A账号,这时候触发惩罚机制,需要1小时后才能登录,这种情况下如果以账号为统计维度,会导致A账号的拥有者在设备2上登录受限,所以采取账号+终端的方式会比较好。
2. 手机号验证登录
手机验证登录页面流程图
手机号验证码的流程就是输入账号绑定的手机号,获取验证码,输入验证码。
流程是比较简单,也是目前各种App普遍采用的登录方式,因为手机号的唯一性以及安全性,再加上没有密码记忆的成本,这种登录流程简单便捷,现在越来越受推崇。
那么这种流程需要注意什么细节呢?因为魔鬼往往都在细节里。
首先是手机号本身,大家日常遇到的手机号大部分都是中国大陆的手机号,以86为国家码的11为连续数字,但是大家要清楚的是,这只是全球手机号中的一种,刨去不支持非大陆手机号登录的情况。应该要注意的有以下2点:
- 国家和地区码可以默认跟随手机系统,但需要支持修改,防止手机收不到验证码,同时需要给出收不到验证码的操作指引。
- 风险控制,由于短信服务是一个需要付费的服务,为了防止暴力地刷这个获取验证码接口,大部分App都会加一个获取验证码的时间间隔(一般是60秒)。同时,当多次点击的时候需要验证。如图片验证码,滑动验证等。同时验证码错误也会有相应的惩罚机制防止暴力破解。
3. 注册流程设计
注册主流程就是输入账号>获取验证码>设置密码>完成登录,这里账号不一定是手机号,也有部分使用邮箱(特别是国外的互联网产品)。
账号注册页面流程图
验证部分的风险控制跟上面相似这里就不赘述了。那么大家想一下,设置密码这里有什么需要注意的?
日常的设置密码主要有两种形式:
一种是明文/隐藏显示,多见于移动端的注册流程,还有一种是重复输入密码确认,多见于网站或者PC端产品。
那么为什么有这两种方式呢?
大家有没有这种抓狂的瞬间?重复输入密码然后系统提示前后两次不一样!还有设置了密码然后登录的时候提示密码错误!
密码是人设置的,人为的操作具有不可控性,有很大的概率输入密码的过程中会出错。更何况有些密码要求极其变态,就算设置符合规则了也不一定记得住。
由于电脑键盘比较大,输入错误的概率相对较小,所以可以采取重复输入确认的形式,而手机键盘就小了很多,而且还需要进行字母大小写、特殊符号、数字等的切换,输入错误的概率大大增加,所以明文显示的方案会让流程更流程。
当然,默认密码绝对是要隐藏的,为了保证安全。
找回密码的流程跟注册大致相同。但这里有一个比较棘手的情况,那就是用户的手机号换了该怎么办。这个我们下期再讲。
五、数据设计
原型设计其实已经是对一个需求的分析、梳理到解决方案的设计的最后环节了。
对一个问题的解决方式永远都不会只有一个,但最优的情况一般只有一个,为了找到这个最优情况,我们必须对我们给出的方式做出验证。
用什么验证呢?
用数据说话。
对界面中用户可能触发的事件进行埋点统计,可以帮助我们验证猜想,修正我们的设计,在后续的迭代中不断优化功能,提升体验。
比如本例子中,我们把账号密码登录放在主页面而手机号验证登录则是一个二级页面,如果埋点数据显示手机号验证登录的数据很高,我们是不是就可以转换策略把它放在主界面呢?
其实没有这么简单,数据还需要慢慢研究,发现背后的业务逻辑、用户操作的场景以及当时的想法,这个我们后续会娓娓道来。
作者:PM大叔;公众号:互联网产品研究院(ID:Deep_Boom)
本文作者 @互联网产品研究院
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!