第三方账号登录设计

现在很多应用都会提供第三方账号登录功能。我记得这个功能出现最早的时候大约是 twitter 兴起的时候。其实在这之前有  openid 的方案,不过没有推广开来,最终随着 twitter facebook 等网站用户量的暴涨顺手做了 openid 的事情。

第三方账号登录设计的初衷是要解决注册成本问题。这里面包含两方面,一是注册一般需要填写的内容比较多,比如用户名、邮箱、性别等等,有的甚至到了变态的地步。另一方面是密码管理的问题,就是用户每次注册都要填一个密码,所有网站用一个密码又要面临安全风险。

采用了第三方账号登录以后,用户无需填写繁琐的个人信息。只需要授权一下,应用方就可以获取到对应的必要注册信息,同时用户也无需设置密码。

刚开始的时候对用户和应用方来说一切都挺美好。但是用户不是绝对集中,也就是不存在一个平台包含所有用户。所以应用方不得不接入不同的第三方,比如微信、QQ、微博等。这样慢慢就产生了新的问题,用户很容易在同一应用方产生不止一个账号。

一般有以下几个解决方案

  1. 用户用第三方账号登录以后,让用户再绑定应用方的账号。这样用户就可以把不同的第三方账号绑定到同一应用账号,从而避免了多账号的问题。但是这样就违背了第一个初衷(简化注册流程)
  2. 折中的方案,不需要显示的绑定账号,但是需要绑定手机号。和第一种方法对比,没有本质的改变。
  3. 就是如下图QQ音乐这样,提示用户上次是用的那种登录方式,这种方案成本收益较高。

完美方案不存在,需要持续进化…