用户系统 (下) | 第三方授权、账号绑定及解绑的设计流程
继续补充第三方授权登录和账号绑定与解绑。
(二)第三方授权登录
上篇文章我们介绍过第三方授权的用户不是用户系统的用户,仅是单一app的用户,此原则在此篇仍适用。第三方授权为app注册登录提供一种便捷的方式作为完整用户系统的一种补充。简单来说就是第三方有一个公开的授权接口,你申请访问权限后可调用,并在用户确认授权后第三方返回此用户在第三方的身份openid,app可作为生成自己用户身份的验证。多说一句,用户系统从用户的角度来讲,可以分为用户身份和用户资料,用户身份可以用手机号、邮箱、第三方授权openid建立,用户资料可以默认生成,可以延用第三方获取的昵称头像、可以必须用户填写上传。这些策略要哪个不要哪个,具体怎么制定都是跟着自身产品对用户资料的需求程度确定的。
1.主流程图
第三方授权注册登录
调取第三方sdk,查询此openid是否已有appuserid;
若是,登陆;若否,创建appuserid并将基本资料存入app服务端;
(三)账号绑定
账号绑定分为绑定手机号和绑定第三方授权账号。第三方授权能够给用户提供便捷的注册和登录方式,这是好的一点,但是正因为操作太便捷没有参与感所以用户很容易忘记自己的登录方式。账号绑定到目的就是避免用户忘记登录方式,每次授权都在app内创建一个用户身份,不利于用户操作的同时也不利于产品用户信息留存。所以产品设计上来讲用户的登录和注册方式尽量简单、多种,但是尽量在非必要非用户自主想创建另外账号的情况下尽量一个用户在一个app只存在一个身份。
1.主流程图
账号绑定
绑定手机号
Step1:用户输入手机号点击获取验证码,客户端进行基本判断(后面详细介绍)后,app服务端发送验证码;
Step2:用户系统服务端验证用户的手机号是否已存在对应的appuserid;
若是,提示此号已绑定,先更换绑定手机号
若否,用户系统按照手机号注册流程,用户系统创建unionid,将union传给app并关联当前登陆的appuserid,绑定成功
绑定第三方授权
App服务端查询账号信息,是否存在appuserid;
若是,提示此号已绑定,建议先解绑;
若否,将此第三方授权openid绑定到登陆的appuserid中;绑定成功
(四)账号解绑
账号解绑也分为手机号和第三方授权。手机号只允许更换绑定不允许解除绑定。更换绑定的场景就在于用户更换了手机号,为了账号安全将之前的信息迁移到新的手机号中,并将更换的原手机号从系统中删除,若再次注册将视为新账号。
1.主流程图
账号解绑
更绑手机号
Step1:原手机号+验证码,app服务端验证是否为真,为真发送验证码;
Step2:新手机号+验证码+密码,app服务端验证手机号+验证码是否为真,为真进行step3
Step3:用户系统服务验证此手机号是否已存在unionid;
若是,提示更绑失败
若否,将新手机号替换原手机号,关联原手机号unionid,appuserid;并将原手机号从用户系统中删除;
解绑第三方授权
Step1:当前第三方授权是否已经绑定手机号,若是,成功解绑;若否进行step2;
Step2:当前第三方授权是否绑定其他第三方授权登陆,若是进行step3,若否提示无法解绑,首先请绑定手机号;
Step3:当前第三方授权是否为最早一个绑定(即注册账号);
若是,调取第三方授权登陆页面,用户重新登陆要解绑账号+密码(需要确认是否能抹除用户登录信息要求输入账号密码),登陆成功则解绑成功;
ps:这里被开发同事验证不能抹去登录信息,因为我们只有调取接口的权限。但是当时之所以想要这么设计,是为了账号安全,可以试想一个场景,我把你的账号绑定到我的微信/微博等,然后接触你的账号,相当于这个账号就归我了。--事实证明现在的权限没办法解决这个问题。
若否,解绑成功;
文/王悠悠悠
关键字:产品经理, 绑定
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!