登录注册找回密码注销账号的浅见

2023-11-23 07:20

本文主要是介绍登录注册找回密码注销账号的浅见,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

刚入行产品的小伙伴们不管你们是做什么业务的,只要业务线涉及到C端的用户,那么大概率你们第一个小试牛刀的流程图是和登录、注册、找回密码、注销账号相关的。当然啦,对于工作了3年以上的“老产品人”每次新开一个项目的时候,也是要去设计这一块常规的功能。那我们就直接切入到主题分析一下这些常见的功能吧。

一、注册

首先要明确并不是所有的产品都需要注册登录。对于关系用户比较隐私数据的应用需要注册登录,例如微信、淘宝、建设银行APP、邮箱等。对于不会产生用户自身相关数据的应用不需要注册登录,例如墨迹天气、日历等。

对于需要用户注册登录的应用,从数据分析的角度分析,用户注册信息之后生成了一个账号,在后台数据库中有唯一的标识与其对应,我们称新注册用户为新增用户。

我们需要区分一下新增用户和新增设备:新增用户指的是【用户ID+1】,新增设备指的是【设备ID+1】,例如我在手机某个APP上注册了一个账号,然后又使用这个账号在另外一个手机上以及两台不同的电脑上分别登录过,那么我的注册登录操作使得这个产品的新增用户+1,新增设备+4(前提是这几个设备之前都没登录过这个产品)。

目前常见的注册(同登录)方式主要是两大类:

①系统自建用户(用户的唯一标识是手机号、用户名、邮箱、身份证号等);

②第三方账号授权登录(微信、QQ、支付宝、微博、淘宝等)。

不同业务设计的注册流程和字段都是有一定的区别的,但是尽量本着少、快的方式引导用户注册完,收集到用户最关键的信息。很多产品可以让用户自由选择自建账号或者直接第三方登录,用户按需选择的体验是非常好的。但是极个别的产品会在用户选择了第三方注册登录之后,让用户再去绑定手机号,不然无法完成注册的流程。

从用户的角度出发,如果用户点击第三方登录形式,就是不希望有注册登录那样繁琐的流程,加注册流程只会很大程度将用户卡在门外。如果PM担心第三方帐号出问题,希望组建产品的帐号体系也是无可厚非的。可以让用户首次登录之后让用户去完善一些其他的信息才能使用产品的某些功能,或者通过积分奖励等方式来激励用户完善更多的个人信息。

1. 常见的系统自建用户—手机号注册

对于系统自建用户常用的为手机号注册,主要涉及到的字段为【手机号、短信验证码、密码】:

①手机号:我们需要前端验证手机号是否为空,是否符合11位的手机号格式,接口去验证该手机号是否已注册;

②短信验证码:我们需要接口去验证验证码是否正确,是否失效,为了防刷我们还要限制每天和指定的时间段可以获取验证码的次数、输入错误的次数;

③密码:我们需要验证密码是否符合我们的格式以及两次输入的密码是否一致。很多注重系统安全的产品会在注册时设置人机交互验证,具体的流程详见下图:

c8d5fd1203aa920aea896bab0f8202da.png

fbd35229122555c04b169c6ef41a44d9.png

其中在使用手机号注册登录时,可以不需要用户输入手机号直接进行【本机号码一键登录】的方式进行注册登录。

2. 常见的第三方账号授权——微信授权

对于第三方账号授权常用的为微信授权,用户在登录页面点击“微信授权登录”,打开微信app,调起授权用户微信个人信息页面,用户点击同意则同步获取用户信息(openid、头像、昵称、地区、性别),省去用户注册步骤,直接登录成功。

但是不管是微信授权登录APP、小程序、还是手机网站,都是无法拿到用户的手机号。小程序可以单独授权进行手机号的获取,APP和手机网站必须单独获取验证码进行绑定。

对于移动应用/网站应用开发者想为用户提供微信授权登录的方式,需要在微信开放平台添加该应用。为了识别用户,每个用户针对每个应用都会产生一个安全的OpenID。

如果需要在多个应用之间做用户共通,则需前往微信开放平台,将这些应用绑定到一个开放平台账号下,绑定后,一个用户虽然对多个应用有多个不同的OpenID,但他对所有这些同一开放平台账号下的公众号和应用,只有一个UnionID。


二、登录

对于需要登录的产品,需要明确在什么时候登录。一种是在启动的时候就检测用户是否有登录,若未登录则让用户登录。这种产品的用户信息贯穿到产品核心功能的各环节,所以需要将登录前置到启动环节,例如 微信、QQ、脉脉。

另一种是当需要用户的信息的时候再检测用户是否登录,未登录的情况下引导其登录。这种产品只是在某些环节需要用户的信息,所以这种情况完全可以将登录后置,例如知乎、头条、淘宝。

从沉没成本的角度来考虑,在关联到某些环节需要和用户信息绑定时再引导用户登录能一定程度上减少新增用户的折损。例如电商产品浏览商品时就让用户登录,那么用户觉得麻烦就离开了,但是如果用户精挑细选了满意的商品打算购买时再让用户登录付款,大概率用户就自然地完成了注册登录流程。例如游客可以浏览知乎的内容,但是进行评论时会弹出弹窗引导用户注册/登录。

用户在没有登录的前提下使用产品,这个时候用户的身份为游客身份。用户前期使用游客身份会产生一些数据,如果游客后期在同一个设备上注册了新账号,那么要提示用户是否将游客模式产生的数据同步到新的账号,如果用户选择【是】,那么游客模式的数据清空,数据同步到新的账号下;如果选择【否】,游客数据不被清空,也不会迁移到新的账号下面。

常见的登录方式为密码登录【手机号、密码】、短信验证码登录【手机号、短信验证码】、【第三方授权登录】,其中第三方登录已经在注册时提到,不再赘述。

1. 密码登录

①手机号:我们需要前端验证手机号是否为空,是否符合11位的手机号格式,接口去验证手机号是否存在;

②密码:我们需要验证密码是否正确,为了防刷我们还要限制指定时间段输入错误的次数;具体的流程详见下图:

c5dd18ffa557919691511f6a13347eb8.png

fd290dc8622b7a61c8c906577858a5a3.png

2. 短信验证码登录

①手机号:我们需要前端验证手机号是否为空,是否符合11位的手机号格式;

②短信验证码:我们需要接口去验证验证码是否正确,是否失效,为了防刷我们还要限制每天和指定的时间段可以获取验证码的次数、输入错误的次数。

注意:对于首次登录的新注册用户,登录之后需要用户去完善密码。具体的流程详见下图:

e41ecb11ee46c6a032606490cbaa625a.png

61ddd8ec0078df519e00e4b4186b702e.png

3. 单点登录

每个单独的系统都会有自己的安全体系和身份认证系统。但是随着业务应用系统越来越多,对于通过一个用户在不同的业务应用系统中会有多个帐户,而且在不同应用系统间切换,需要不停的登录注销,比较烦琐的情况。

于是很多业务线推出单点登录系统(Single Sign On,SSO),将各应用系统统一到单一登录界面,登录一次,即可实现不同应用系统间的切换,不需要重复登录注销,也可提高用户体验。这不仅仅带来了更好的用户体验,更重要的是降低了安全的风险和管理的消耗。


三、找回密码

每个账号的密码在数据库中是加密存储的,理论上密码是无法解密的;所以如果用户忘记了密码,那么是无法找回原来的密码,只能去重新设置一个新的密码。主要涉及到的字段为【手机号、短信验证码、密码】:

①手机号:我们需要前端验证手机号是否为空,是否符合11位的手机号格式,接口去验证该手机号是否已注册;

②短信验证码:我们需要接口去验证验证码是否正确,是否失效,为了防刷我们还要限制每天和指定的时间段可以获取验证码的次数、输入错误的次数;

③密码:我们需要验证密码是否符合我们的格式以及两次输入的密码是否一致。很多注重系统安全的产品会在密码找回时设置人机交互验证,具体的流程详见下图:

b982a755255414cb692b65f2cd25043e.png

5bb8bb1b597f51614a8975bab8c9b71c.png

我们会发现注册和找回密码的流程几乎是一样的,但有两个比较明显的区别:

①注册要保证该账号之前不存在,找回密码要保证之前账号是存在的;

②注册之后直接跳转是登录状态,找回密码之后要跳转到登录页面进行登录。


四、注销账号

当用户不再需要使用应用提供服务时,可以主动注销账号,这样应用服务商无法再对个人信息进行收集和使用。不同平台在用户注销账号时有不同的限制,只有满足注销申请条件后,才允许用户提交注销申请。常见的限制为:

①账号处于安全状态——账号最近一段时间内没有任何异常违规的操作、没有被盗被封的风险;

②账号服务已完结&财产已结清——账号不存在没有完结的服务,没有欠款等,避免因为账号的注销造成其他用户或者平台的损失;对于未提现的资产,用户注销账号相当于选择主动放弃;

③账号和其他平台的帐号解绑——该账号已经解除了和其他应用的授权登录或者绑定关系。

账号注销之后该账号所有的个人信息和产生的用户数据全部都被清除且无法找回(即便使用相同的信息再次注册账号也无法找回)。

在前端,注销账号的头像变为默认头像,昵称变更为【账号已注销】,个人动态也被清除,与其他用户的互动依然保留;

在后台,用户注销则在用户账号旁边括号备注“用户已注销”,用户后续重新使用同一个手机号进行注册,则给该账号重新赋予一个新的ID,重新生成注册记录。

如果用户注销之后又反悔的情况,可以设置一个N天的冻结期。如果在N天之内用户登录了应用,那么注销申请自动撤销,用户可以继续正常使用账号。否则该账号将永远消失,无法通过任何方式找回。

由于业务的属性、产品本身对安全性、交互性的要求、不同类型的终端、用户的使用场景等多种因素的影响使得在设计注册、登录、找回密码、注销账号时会存在很多差异,以上分享为常见且基础的设计。好啦,此波分享到此结束,希望能帮到刚入门的一些产品朋友~

最后,我建立了各大城市的产品交流群,想进群小伙伴加微信:chanpin628  我拉你进群。

042b7700ca0b0507061d9b2f5be22293.jpeg

cf42b1dc93fd1e8490e2c7c7111a76bf.gif

视频号推荐

关注微信公众号:产品刘 可领取大礼包一份。

c4c1ccd4818f8dc487c5f2ddf19dedbb.gif

··················END··················

88cbd668a92e31771038e093a237435d.png

今日报告:艾瑞咨询 发布2023年中国消费者洞察白皮书》下载报告去公众号:硬核刘大  后台回复“消费者洞察即可下载完整PDF文件。

申明:报告版权归 艾瑞咨询 独家所有,此处仅限分享学习使用,如有侵权,请联系小编做删除处理。

RECOMMEND

推荐阅读

CRM全解析

手把手教你做AI产品经理

公司即将要倒闭的征兆

面试一对一辅导

6fbf6d6308793fbc1d75f3d30090200e.gif

点击“阅读原文”

查看更多干货

这篇关于登录注册找回密码注销账号的浅见的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/416286

相关文章

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

Spring Cloud之注册中心Nacos的使用详解

《SpringCloud之注册中心Nacos的使用详解》本文介绍SpringCloudAlibaba中的Nacos组件,对比了Nacos与Eureka的区别,展示了如何在项目中引入SpringClo... 目录Naacos服务注册/服务发现引⼊Spring Cloud Alibaba依赖引入Naco编程s依

Oracle登录时忘记用户名或密码该如何解决

《Oracle登录时忘记用户名或密码该如何解决》:本文主要介绍如何在Oracle12c中忘记用户名和密码时找回或重置用户账户信息,文中通过代码介绍的非常详细,对同样遇到这个问题的同学具有一定的参... 目录一、忘记账户:二、忘记密码:三、详细情况情况 1:1.1. 登录到数据库1.2. 查看当前用户信息1.

SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)

《SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)》本文介绍了如何在SpringBoot项目中使用Jasypt对application.yml文件中的敏感信息(如数... 目录SpringBoot使用Jasypt对YML文件配置内容进行加密(例:数据库密码加密)前言一、J

MobaXterm远程登录工具功能与应用小结

《MobaXterm远程登录工具功能与应用小结》MobaXterm是一款功能强大的远程终端软件,主要支持SSH登录,拥有多种远程协议,实现跨平台访问,它包括多会话管理、本地命令行执行、图形化界面集成和... 目录1. 远程终端软件概述1.1 远程终端软件的定义与用途1.2 远程终端软件的关键特性2. 支持的

MySQL9.0默认路径安装下重置root密码

《MySQL9.0默认路径安装下重置root密码》本文主要介绍了MySQL9.0默认路径安装下重置root密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录问题描述环境描述解决方法正常模式下修改密码报错原因问题描述mysqlChina编程采用默认安装路径,

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

MySQL修改密码的四种实现方式

《MySQL修改密码的四种实现方式》文章主要介绍了如何使用命令行工具修改MySQL密码,包括使用`setpassword`命令和`mysqladmin`命令,此外,还详细描述了忘记密码时的处理方法,包... 目录mysql修改密码四种方式一、set password命令二、使用mysqladmin三、修改u

oracle如何连接登陆SYS账号

《oracle如何连接登陆SYS账号》在Navicat12中连接Oracle11g的SYS用户时,如果设置了新密码但连接失败,可能是因为需要以SYSDBA或SYSOPER角色连接,解决方法是确保在连接... 目录oracle连接登陆NmOtMSYS账号工具问题解决SYS用户总结oracle连接登陆SYS账号

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp