系统账号体系设计:注册登录设计并没有那么简单!(超详细介绍)
一个优秀的注册登录系统不仅能提升用户体验,还能增强产品的安全性和稳定性。本文将深入探讨不同类型的注册登录方式及其设计细节,帮助你构建一个既便捷又安全的账号体系。
从0到1设计一个系统时,我们首先要考虑的是系统的账号体系,通常,账号体系是指一套用于管理和认证用户身份的系统框架。在这个体系中,每个用户都拥有一个唯一标识的账号,用于访问和控制相应的资源或服务。
账号体系不仅包括用户账号的创建、认证、授权、管理等基本功能,还可能涉及到用户信息的安全存储、保护用户隐私、防止恶意登录等方面的技术和措施。
账号是产品与用户之间绑定的关系,是用户在产品中唯一性凭证,我们在企业工作中很少有机会参与从零到一的设计,很少能参与产品体系的搭建,这一模块反而成为最熟悉的陌生人。
本文将为你介绍注册登录模块的类型和设计细节
一、注册登录的方式
在设计注册登录模块之前,首先需要了解常见的注册登录方式,注册登录方式经过了多次演变,逐步朝着低感知阶段发展。注册登录方式包括:
1、账号+密码
账号密码登录是最早期也是最常见的注册登录方式,包括随机账号+密码、自定义账号+密码、邮箱+密码、手机号+密码等多种形式。
在实际应用中,大多数平台会结合多种方式进行登录。
虽然有不同的账号密码登录方式,但普遍存在以下缺点:
①用户对于密码的记忆成本高
②登录密码属于静态密码,被破解的概率高,存在被盗风险;忘记密码的流程,需要考虑身份验证。
③只适用于已注册的用户,未注册用户需要去注册页面走注册流程,不利于新用户的引入
1)随机账号+密码
用户填写个人资料、密码等信息,系统自动生成一个账号,用户在登录时,可以直接使用账号密码进行登录,比较典型的是QQ。
弊端:随机生成的账号增加用户记忆成本
2)自定义账号+密码
由用户自定义的数字、字母、字符或者汉字的组合,这种方式常用于早期的论坛类社区,现在应用较少,常见于海外产品、企业级产品。
3)邮箱+密码
用户通过邮箱进行注册,应用的比较多的场景还是基于以web端为主的网站,该方式较多用于海外产品或高校教育产品。
弊端:邮箱普及率较低
4)手机号+密码
目前较常用的密码登录方式
2、手机号+验证码
手机验证码登录是最常见的登录方式,不用记忆密码,注册登录一气呵成,但需要第三方短信运营商接口接入,其实现原理如下:
弊端:
①短信发送是需要付费的
②验证码发送不了或延迟发送,影响用户使用
③手机号回收,存在账号安全隐患
为应对短信验证码风险,常见的策略有:
①获取验证码时的设备、IP、WIFI、地域不是常用的:短信或者语音通知用户可能存在安全风险,请谨慎操作;
或者,直接升级安全级别要求更多的验证方式,比如需要再次获取验证码、输入安全码、刷取指纹、识别人脸等验证方式。
②频繁操作:获取验证码时长限制或者获取短信验证码之前先通过图形验证码等方式增加发送短信验证码的难度。
3、本机号码一键登录
本机号码一键登录是基于运营商独有网关认证能力推出的账号认证产品,用户只需一键授权,即可实现以本机号码注册/登录,相比先前的短信验证码流程体验更优。
要使用一键登录,需要接入运营商的 SDK,三大运营商使用了同一套授权流程,如果要兼容三大运营商,就需要分别接入三个 SDK。
而现在更简单的方法,就是接入一个整合了三大运营商认证能力的第三方 SDK,目前主要有以下几家:阿里 – 号码认证服务、极光 – 极光认证、mob – 秒验
主要步骤有:SDK初始化、唤起授权页、同意授权登录、获取显示号码
“一键登录”需要注意:
①需要打开数据网络
②手机需插入SIM卡
③双卡手机,以开启数据流量的SIM卡进行认证
④同意运营商《服务与隐私协议》
4、第三方授权登录:微博、微信、QQ授权登录等
借助第三方应用的接口实现用户登录,常见的有:微信、QQ、微博,借助第三方应用的接口时需到相应的开发者平台申请接入,获取appid和apikey作为应用的唯一标识。
借助第三方登录总体处理流程相似,以QQ为例:
①申请接入,获取appid和apikey(应用的唯一标识和密钥)
②开发应用,并设置协作者帐号进行测试联调
③放置QQ登录按钮
④通过用户登录验证和授权,获取Access Token
获取Authorization Code(申请授权)、获取Access Token(获得授权)
Access Token的有效期默认为30天,过期后需要用户重新授权才能获得新的Access Token
⑤通过Access Token获取用户的OpenID(用户身份的唯一标识)
⑥调用OpenAPI,来请求访问或修改用户授权的资源(如用户头像、昵称)。
弊端:
①不利产品自身账号体系的建设(可以考虑在合适的场景引导用户绑定手机号)
②获取到的用户信息有限
③受第三方非可控因素的影响
5、其他:刷脸登录、扫码登录、指纹登录、手势登录等
1)刷脸登录
人脸识别的技术采用该领域广泛应用的区域特征分析算法,融合了计算机图像处理技术与生物统计学的原理于一体,利用计算机图像处理技术从视频里提取人像的特征点,利用生物统计学原理进行分析建立数学的模型,即人脸特征模板。
然后利用已建成的人脸特征模板与被测者的人像进行特征分析,根据分析结果给出一个相似值,通过这个值即可确定是否为同一人。
目前,智能识别阶段的人脸识别主要包括人脸识别,人脸特征匹配和人脸提取。
2)扫码登录
①同一产品扫码登录
当用户需要登录某个网站时,网站会提供一种扫码登录方式,用户打开相应的手机App,扫描网站上显示的二维码,然后在App中确认登录,网站监测到用户确认登录后,跳转到登录成功页面。从这个形式上看,扫码登录就是将用户在手机App中的登录状态同步到网站中。
②第三方扫码登录现在很多网站除了提供自身账号的登录方式以外,还提供了微信扫码登录、微博扫码登录等方式。
与自身产品扫码登录不同的是,第三方应用创建一条登录请求记录之后,还要把记录的标识拼接到访问微信登录二维码的url中,第三方应用拉起应用名称和请求授权信息弹窗
3)指纹登录
指纹解锁是对于支持指纹识别的手机端另外一种身份验证的方式。
当APP再次唤起时,若用户开启了指纹解锁,则只需通过将手指放置在触控区,等待短暂的指纹比对,吻合后便可轻松登入APP。
4)手势登录
二、设计注册登录时需要考虑的问题
1、在设计注册登录之前,应该先想清楚
①为谁设计登录注册?明确目标用户
②是否一定要登录注册?明确产品类型
- 无需注册登录:不需要账号体系,可直接使用,以工具类app为主,如天气、计算器、手电筒等
- 非强制登录:无须登录可以使用部分功能,触及核心功能时引导用户登录,如微博、抖音等
- 强制登录:必须登录才可使用,主要为社交类app,如微信、QQ等
③ 哪些操作需要用户登录?
2、在设计注册登录时,基于快捷性、安全性构成闭环
1)正向流程:注册流程、登录流程
①手机号一键登录:手机插卡并打开数据网络,同意运营商协议
②第三方快捷登录(微信、qq等):需要借助第三方接口并获得用户授权,授权有效期默认30天
③短信验证码登录:验证码有效时长/长度,频繁操作时进行时长限制或引入图形验证码加大难度
④账号密码登录:密码复杂度,多次输入错误时是否需要风控(锁定账号/n分钟后尝试)
2)逆向流程:找回密码流程,风控流程
①找回密码:手机验证码、邮箱验证、身份验证、人脸识别、联系客服
②找回账号:基于个人身份证信息,如身份证、人脸识别
③注销账号:流程一般包括选择注销原因、满足注销的条件、验证码再次确认
④锁定账号:手机验证码、身份验证、人脸识别
三、注册登录设计案例分析
1、案例:淘宝
1)正向流程:
首次登录:手机号一键登录、支付宝快捷登录、短信验证码登录、账号密码登录、指纹登录
2)逆向流程:找回密码、找回账号、解除账号限制、联系官方客服、锁定账号、注销账号
① 找回密码:有手机验证码、拍摄脸部、联系官方客服3种方式
- 手机验证码:系统默认使用手机验证码找回密码的方式,输入手机号码时,系统自动检测手机号账号状态、操作状态、安全产品后通过后去手机验证码修改密码
- 拍摄脸部:需要用户授权(加密保存身份相关的图像、核实身份信息)
- 联系官方客服:机器人+人工,初次输入人工时会提示描述问题,机器人也能解决
② 找回账号:仅支持大陆用户使用,通过输入身份证号码姓名信息,人脸识别认证后,页面显示所有账号
③ 解除账号限制:无法正常登录(账号异常)时,可申请解除账号限制,申请解除前需要通过获取手机验证码,验证账号是否异常
④ 联系官方客服
⑤ 锁定账号:用于手机异常登录等情况,手机号一键认证或联系官方客服进行账号锁定
⑥ 注销账号:流程包括注销原因、满足注销条件、操作环境安全
2、设计的要点
1)正向流程
①注册登录是否合并
本机一键登录时,需要考虑符合/不符合条件(手机插卡并打开数据网络,同意运营商协议)时,页面交互展示
- 第三方登录:没有第三方软件时,不显示第三方图标或提醒没有安装;同意授权/不同意授权时的页面交互;第三方登录后是否需要绑定手机号
- 验证码:“发送验证码“按钮或自动发送短信验证码;发送验证码时长/条数限制;自动填充验证码;验证码频繁操作时风控提醒
- 密码登录:密码设置的复杂度、密码多次输入错误时是否需要风控(锁定账号/n分钟后尝试)
- 登录是否拆分页面:如验证码与手机号是否在同一页面
② 确认登录未勾取用户使用协议时,提醒逻辑:弹窗提醒并选择或弹窗提示
③登录与不登录时,使用的功能区别点
④是否支持多人登录, 异地登陆历史是否风控
⑤ 登录白名单与黑名单:内部人员的登录白名单,登录黑名单与解封机制
⑥登录有效期时长
⑦历史登录账号信息缓存
⑧弱网、无网环境下的登录请求提醒
⑨登录时的版本信息检查与强更
⑩ 输入框细节
- 号码信息缓存:是否自动获取历史账号(历史登录账号信息缓存)、密码/验证码登录方式切换时,号码信息缓存
- 自动填充验证码
- 手机号码的数据格式检查
- 短信验证码位数及其有效期
- 密码位数组合机制
- 输入错误提示
- 一键清空输入信息
- 密码明文和暗文开关
- 满足必填/位数时,相关按钮才可进行操作,否则置灰
2)逆向流程
- 修改密码后是否需要重新登录
- 账号是否可以找回
- 注销账号机制
- 找回密码方式
- 登录环境异常时,是否支持锁定账号
综上,一个完整的注册登陆以体系业务主要包括五个模块
(1)注册
- 账号注册
- 账号验证
- 密码设置
(2)登陆
- 主账号登陆
- 第三方登陆
- 手机号登陆
(3)找回密码
- 账号验证
- 重置密码
(4)异常登陆
- 账号输入错误
- 密码输入错误
- 账号不符合规范
- 密码不符合规范
- 验证码错误
- 账号已注册
- 网络异常
(5)风险控制
- 密码多次错误惩罚
- 验证码多次错误惩罚
- 多设备校验
在实际应用中,我们可以根据实际的业务需求场景选择合适的注册登录方式,而且,并不是所有的APP都需要登录注册,一些纯工具类的产品就不用进行登录注册,比如说计算器、指南针、天气、日历等。
还有些APP会为用户提供游客身份,在非注册登录的情况下允许用户浏览,充分体验产品之后,在需要账户信息时才提醒用户注册或登录。
先让用户进行登录注册再浏览还是先浏览再登录注册,取决于产品的功能是否基于用户或用户与用户之间的关系来触发。
作者:诺儿笔记本,公众号:诺儿笔记本
本文由 @诺儿笔记本 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议。
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
这种东西。适合给老板看
强迫症又犯了,登录不是登陆。
文章很详细,看下来也能有个一知半解了。