笔者对用户注册、登录和认证等账号功能设计进行了分析,结合相关流程总结了自己的思考和理解,与大家分享。
一、背景
最近公司因为业务拓展需求,决定推出一套新的业务平台支撑业务发展。由于涉及到用户的注册,登录和认证等功能,所以想把最近的一些思考和理解总结出来,欢迎大家批评指正。
随着注册流程的优化和简化,登录界面和注册界面现在很容易被混淆。造成这种混淆的原因不止是简化:首先许多网站会选择将登录和注册界面设计地非常相似,甚至将其直接容纳到同一个界面当中去。
许多用户不经意间在一个网站注册过好几个帐号的事情,并不鲜见。
二、概念梳理
1. 未登录
有的产品的使用并非一定要登录,但是如果用户并未登录,我们如何去查看用户行为数据呢?
解决方案主要是取决于用户使用的平台。如果使用的是浏览器,主要的方法是通过cookie。如果是移动设备,则可以使用设备ID,而如果是腾讯产品,也可以使用UnionID。
2. 注册与登录
随着注册流程的优化和简化,登录界面和注册界面现在很容易被混淆,造成这种混淆的原因不止是简化。
首先许多网站会选择将登录和注册界面设计地非常相似,甚至将其直接容纳到同一个界面当中去。许多用户不经意间在一个网站注册过好几个帐号的事情,也就是说同一个用户有可能用微信,用手机号,用邮箱分别注册了账号,导致他用不同的登录方式登录的账号不同。
如何解决这个问题呢?现在主流做法是通过将UserID作为账号在系统的唯一标识,然后将不同的登录方式将其关联。这样,用户对登录方式的修改,并不会影响账号本身。
3. 身份/资质认证
身份/资质认证的目的是为提升用户账号使用安全性和产品监管用户行为。认证的内容根据业务实际需要决定,弱的认证可以只做手机号认证,毕竟现在手机号大多做了实名认证。
而涉及到金融,公共平台内容发布等重大事务时,身份证和相关从业资格认证必不可少。
三、主要业务流程
当用户使用微信登录时,只需判断是否有账号绑定了此微信,如果没有,就为此微信创建一个新的UserID,否则直接登录已有账号即可。
用户有时候并不知道自己的某种登录方式是否曾经使用过,而由于多数注册与登录页面高度相似。导致系统为用户创建了一个新的UserID,这时如果想关联用户真正想绑定的账号,就需要换绑的业务了,以下以手机号换绑的业务流程为例。
当账号绑定新的登录方式时,会首先校验账号是否已绑定已绑定手机号,如果有绑定,需要先在解绑旧的账号。
同时绑定新的手机号也需要校验是否这个手机号可以使用,如果已绑定至其它账号,同样也需要解绑操作。
四、小结
文章的内容主要是最近工作中实际的使用场景,抱着他山之石可以攻玉的想法,参考了现有的资料,结合自己系统的实际情况,对自己最近工作中的一些感悟做了一次小结。
若有不足之处,还请大家多多沟通,共同进步。