方案一:快捷和自动登陆注册型。
该方案是对用户行为拦截最少的方案,整个过程最为流畅,对用户来说几乎无感;此时无服务端通常通常以第三方分配的openId+三方平台类型结合生成一个唯一表示标识,并将从三方获取到的其他信息一起作为一条记录存到数据库。并且自己网站通常也会显示第三方平台的昵称。下次,用户在此登陆时,仍然需要通过三方来进行登陆,因为在自己平台上我们并没有给用户一个机会让用户输入自己的标识,以便在此不需要第三次就可以登陆。
优点:整个流程对用户通过3放登陆注册流程最佳,几乎无障碍。
缺点:由于自己的平台没有给用户分配他们可以记住的标识,所以下次仍然需要通过三方来登陆。
总结:这种方案目前主流WEB站点基本不再使用,但APP还有较多在使用,早期CSDN使用过,对于那些不注重用户注册数的可以考虑。
方案二:完善手机号/邮箱和密码,生成新的或自动关联的用户。
这种方案,相对方案一的不同时,用户授权回来之后,仍然要输入手机号+密码,或者邮箱+密码;由系统后台自己验证该邮箱或手机号是否自己平台上登陆过,如果没有则注册,其中唯一标识仍然是通过邮箱或手机号来标识,只是关联了第三方的open_id+三方平台类型;如果已经注册过,则自动进行登陆,此时不需要在输入密码。
优点:因为授权后,需要用户输入自己的手机号或邮箱等唯一标识,并且需要输入密码,所以以后可以脱离第三方平台独立登陆;
即使通过第三方平台登陆,如果已经注册过则不需要输入手机号或邮箱+邮箱可以直接进行登陆。
缺点:无法让用户自己选择是要关联已有(哪个)账号,或者是进行新的注册,略显暴力。
总结:当下主流方案,实质上是省略了注册的过程。具体例子见下图:
catappult:
unity:
如果unity直接注册则是下图,还是要更繁琐一些:
方案三:用户决定选择关联账号还是注册新账号
整个方案与方案二是整体流程相同的,但是给了用户一步自己选择是关联现有账号还是注册新账号的过程,这样的设计更加人性化,且一般校验也更为严格。例如B站:
优点:整个过程更加人性化。
缺点:流程繁琐一些,有些用户不愿意做选择题。
总结:这个也是目前较为主流的方案,尤其是对于一些成熟的网站更为常用。