账号体系设计:账号与登录方式
笔者对用户注册、登录和认证等账号功能设计进行了分析,结合相关流程总结了自己的思考和理解,与大家分享。
一、背景
最近公司因为业务拓展需求,决定推出一套新的业务平台支撑业务发展。由于涉及到用户的注册,登录和认证等功能,所以想把最近的一些思考和理解总结出来,欢迎大家批评指正。
随着注册流程的优化和简化,登录界面和注册界面现在很容易被混淆。造成这种混淆的原因不止是简化:首先许多网站会选择将登录和注册界面设计地非常相似,甚至将其直接容纳到同一个界面当中去。
许多用户不经意间在一个网站注册过好几个帐号的事情,并不鲜见。
二、概念梳理
1. 未登录
有的产品的使用并非一定要登录,但是如果用户并未登录,我们如何去查看用户行为数据呢?
解决方案主要是取决于用户使用的平台。如果使用的是浏览器,主要的方法是通过cookie。如果是移动设备,则可以使用设备ID,而如果是腾讯产品,也可以使用UnionID。
2. 注册与登录
随着注册流程的优化和简化,登录界面和注册界面现在很容易被混淆,造成这种混淆的原因不止是简化。
首先许多网站会选择将登录和注册界面设计地非常相似,甚至将其直接容纳到同一个界面当中去。许多用户不经意间在一个网站注册过好几个帐号的事情,也就是说同一个用户有可能用微信,用手机号,用邮箱分别注册了账号,导致他用不同的登录方式登录的账号不同。
如何解决这个问题呢?现在主流做法是通过将UserID作为账号在系统的唯一标识,然后将不同的登录方式将其关联。这样,用户对登录方式的修改,并不会影响账号本身。
3. 身份/资质认证
身份/资质认证的目的是为提升用户账号使用安全性和产品监管用户行为。认证的内容根据业务实际需要决定,弱的认证可以只做手机号认证,毕竟现在手机号大多做了实名认证。
而涉及到金融,公共平台内容发布等重大事务时,身份证和相关从业资格认证必不可少。
三、主要业务流程
1. 用户登录/注册与身份认证流程(以微信登录为例)
当用户使用微信登录时,只需判断是否有账号绑定了此微信,如果没有,就为此微信创建一个新的UserID,否则直接登录已有账号即可。
2. 登录换绑流程(以第三方登录为例)
用户有时候并不知道自己的某种登录方式是否曾经使用过,而由于多数注册与登录页面高度相似。导致系统为用户创建了一个新的UserID,这时如果想关联用户真正想绑定的账号,就需要换绑的业务了,以下以手机号换绑的业务流程为例。
当账号绑定新的登录方式时,会首先校验账号是否已绑定已绑定手机号,如果有绑定,需要先在解绑旧的账号。
同时绑定新的手机号也需要校验是否这个手机号可以使用,如果已绑定至其它账号,同样也需要解绑操作。
四、小结
文章的内容主要是最近工作中实际的使用场景,抱着他山之石可以攻玉的想法,参考了现有的资料,结合自己系统的实际情况,对自己最近工作中的一些感悟做了一次小结。
若有不足之处,还请大家多多沟通,共同进步。
本文由@幸失 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自 Unsplash ,基于 CC0 协议
请问如果一个产品有小程序端和web端,用户先用小程序通过微信登录,绑定了手机号码,下次他用web端登录的时候就只能使用微信登录?如果使用手机号码登录的话,没有密码啊
可能要分清楚几个概念,一个是userid的概念,一个是登录方式的概念。账号+密码是一种登录方式,手机号+验证码是一种登录方式,微信等第三方授权登录又是一种登录方式。 支持哪些登录方式取决于你的userid支持绑定哪些信息。
辛苦了写得很好。
作者有遇到平台账号合并的场景吗?
有遇到过这样的需求,可是由于我们本身是tob的业务,我们的服务主体是企业,所以我们采用的是单个crm租户下数据共享多账号的形式匹配这种需求。
有个问题想不通 想问下作者
一般用户注册都是手机号验证码注册、第三方住注册、邮箱注册其中之一,当用户用其中之一的途径注册以后,系统会生成一个userID并绑定。
当用户在通过其他途径注册时,系统怎么鉴定他是已经注册了的呢?除非注册的时候一次性要求用户留下所有几个途径的信息。
有没有可能绑定了手机设备码呢,现在有好多APP如果想使用就必须允许查询设备码,一个设备的不同的登录方式就会被判定为同一个账户的不同进入渠道。
是否真的有必要在注册时鉴定用户是否已经注册过了?如果应用场景希望一个用户一个账号,可以考虑在认证的环节保证用户、账号一一对应。
鉴定用户是否已经注册,主要就是为了防止薅羊毛。然后其实防止薅羊毛的方法也有很多,一个是你说的统一UserID,然后还有检测设备号。其余的还有,一个是在薅羊毛申请提现的时候做各种审核,另一个是检测用户IP地址,同一个IP不允许重复注册。不过我看你文章的主要意思是防止重复注册,但是在技术层面说的不是很清楚,所以问了一下。
现在大部分注册通道都要留手机号吧,即使你第一次用了手机注册,下次用邮箱注册时候最后一步都要验证手机号。
现在UserID 用作唯一识别的很少了 以往我做过的项目都是以手机号为唯一识别码 所有信息都以手机号为中心关联
防止薅羊毛那就是风控领域的东西了,和本文作者讲的不太一样。另外,,我不是作者==!
嗯 就是探讨下 看得到回复误以为是作者呢 😐