用户系统设计(下)第三方授权、账号绑定及解绑

------------想跳过上篇问题回复可直接下滑------------

之前总结了用户系统登录和注册及帐号打通的问题。有两个问题大家争议得比较多,第一是为什么不完全打通,为什么每一个app要保留自己的用户资料和绑定关系;第二就是不应该用手机号作为唯一的识别方式。先说一下第一个是否完全打通的问题,取决于同一个开发者的app是否需要或者能够让用户感知到这些app都是属于同一个开发者的,很容易让用户感知到“哦,这些都是一家公司的”,那么完全打通,用户信息、绑定关系是通的用户是完全有预期的,这是可以的。并且完全打通对于开发来说可以说得上是一个一劳永逸的事情,之后的app用户系统这一块可以说没有开发量,直接接入。我们可以简单归纳一下现在主流的用户系统服务端设计:

1、app级的用户系统,根据手机号邮箱注册或第三方授权创建用户身份,用户的身份信息、账号绑定、个人资料都保存在app服务端也只对单一app有效;普遍中小app都是采用的此种。

2、公司级用户系统,根据手机号邮箱注册创建用户身份,用户的身份信息、账号绑定、个人资料都保存在统一的公司用户系统服务端,对接入的app有效,app端有读取修改权限;

3、平台级用户系统,根据手机号邮箱注册创建用户身份,用户的身份信息、账号绑定、个人资料都保存在统一的公司用户系统服务端,选择极少信息提供公开接口,接入的app只有读取权限;例如qq微博微信等第三方授权。

其他两个不展开,关于公司级用户系统可以举两个典型的例子,感兴趣的朋友可以体验一下,第一个是网易第二个是百度。大家可以回顾一下两个公司的常用app。就我而言,网易是云音乐、考拉海购、网易有钱等,百度是百度地图、百度糯米。可以再去多去下载几个体验。网易公司的用户系统是网易邮箱去承载,但是承担的功能仅是提供一个用户身份即unionID,用户的资料、帐号、第三方登录等都是app自己去实现的;百度公司的用户系统是百度账号去承载,承担的功能除了提供用户身份unionID外,用户资料、第三方登录都是保存在用户系统的,app端有修改权限用户系统资料;两家的用户系统都没做账号绑定的事情,我认为原因可能是他们建立用户系统的时候还不存在繁琐的账号绑定,后期想加上牵扯到新老账号的数据合并问题是很头疼的问题。而关于用户资料是存在app端还是用户系统,网易是存在app端,百度是存在用户系统,这两家公司区别的原因我分析有二,1)百度系app本身是偏工具的,浏览器、地图、网盘等等对于用户资料和个人中心没有太多的定制化需求只需要基本的头像昵称即可,所以将用户资料这块保存在用户系统,app端基本直接接入即可;网易类是比较重用户资料和个人中心一点的,简单的通用的并且是同步到所有app的设计是无法满足各app产品的,所以选择自建。包括百度需要有稍强一点的用户资料的app(例如百度音乐)都会在用户系统的基础上在app端去自建和完善用户资料。

第二个问题即不能将手机作为唯一标识的担心实际是1、用户手机号更换后无法找回密码;2、旧手机号码被重新激活后账号信息泄露。这个问题实际上需要的是安全验证。一般有以下方法:1)账号绑定与解绑;2)设置安全问题;3)app用户行为验证;4)账号申诉。所以只要做好安全验证问题用手机号做为唯一标识也没有问题,当然第二个问题事关运营商,查了下资料作为互联网服务商上技术上是无解的,只能尽可能提醒用户绑定与解绑手机。

-------------回答遗留问题的分割线-------------

继续补充第三方授权登录和账号绑定与解绑。

(二)第三方授权登录

上篇文章我们介绍过第三方授权的用户不是用户系统的用户,仅是单一app的用户,此原则在此篇仍适用。第三方授权是为app注册登录提供一种便捷的方式和补充。那么第三方授权的登录和注册是怎么回事呢?简单来说就是第三方有一个公开的授权接口,你有权访问并起用户确认后能够返回此用户在第三方的身份openid,可作为app生成自己用户身份的验证。

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:这里被开发同事验证不能抹去登录信息,因为我们只有调取接口的权限。但是当时之所以想要这么设计,是为了账号安全,可以试想一个场景,我把你的账号绑定到我的微信/微博等,然后接触你的账号,相当于这个账号就归我了。--事实证明现在的权限没办法解决这个问题。

若否,解绑成功;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 151,688评论 1 330
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 64,559评论 1 273
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 101,749评论 0 226
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 42,581评论 0 191
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 50,741评论 3 271
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 39,684评论 1 192
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,122评论 2 292
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,847评论 0 182
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,441评论 0 228
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,939评论 2 232
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,333评论 1 242
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,783评论 2 236
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,275评论 3 220
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,830评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,444评论 0 180
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 34,553评论 2 249
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 34,618评论 2 249

推荐阅读更多精彩内容