第三方账号登录功能接入全流程分析(转)

本人在一家网络游戏公司工作,负责公司的基础平台性的产品。主要有用户中心、充值/支付平台、账号密保APP等。我们公司的用户中心之前没有接入第三方账号登录,虽然之前已经向公司提出过产品需求,因公司有一些战略考虑,也一直没有启动。这次趁着新游戏的接入工作,终于把这个项目提上日程。作为产品经理,我负责了开放平台申请、产品设计、交互原型、项目管理到最后的测试、发布等工作,参与了项目的全过程。

产品初始方案

首先确定要选择哪几家账号进行接入,考虑到国内主流,我们选择了微信、QQ和微博,这三家是国内用户群最大的三个平台,没啥好说的。
1.png
第三方账号登录流程

一、获取第三方账号登录授权

2.png
获取授权的流程

1、申请第三方开放平台的账号

3.png
三家开放平台的申请地址

注1:申请QQ登录一定要在QQ互联平台,不是在QQ开放平台(open.qq.com)
注2:申请过程中可能需要企业相关资质,如法人身份证、营业执照、税务登记证等,需要提前准备好。
注3:提交应用申请时,需要提交应用相关的信息(应用名称、介绍、图标、截图、授权回调域等),微信还需要提交《微信开放平台网站信息登记表》。
注4: 建议大家用企业账号申请第三方开放平台,不要使用个人的QQ、微信、微博和邮箱进行申请,这样可以避免申请人在职位变动或者离职后,导致账号管理的风险和交接麻烦。
注5:开放平台申请多数需要审核流程,因此在项目开始时,建议首先申请开放平台账号和创建应用,以免申请时间长影响开发进度。

2、微博登录申请

4.jpg
微博登录申请流程

登录微博开放平台后,需要申请应用。因为我们要申请的是网页版微博登录,因此选择【微链接 > 网站接入】应用类型,填好自己应用的名称和应用分类(选择网页应用类型),点击【创建】即可创建成功。应用创建成功后,可以获得Appid和AppSecret进行开发。
这个时候应用还是未审核状态,在未审核的情况下,微博提供了测试信息,可以绑定最多15个微博账号进行测试。只有在开发完成、部署到线上地址后,才可以提交审核通过,审核通过后即可上线。

3、微信登录申请

登录微信开放平台,选择【管理中心 > 网站应用 > 创建网站应用】,提交创建应用申请后,等待微信开放平台审核。审核通过后,可以获得应用的AppID和AppSecret进行开发。
不过这个时候还不能使用微信登录功能,应用审核通过后还需要单独申请微信登录接口权限。提交申请,审核通过后才可正常使用微信登录接口。

4、QQ登录申请

QQ登录需要在QQ互联平台进行申请(https://connect.qq.com/),QQ开放平台(open.qq.com)是用来将APP接入到腾讯旗下平台的,如QQ空间、应用宝等,不要搞混了,切记切记。
登录后,选择【应用管理 > 创建应用】,当然这里我们选择创建网站应用,根据网站的指引,填写相关信息,提交等待审核。
5.jpg
审核通过后,即可获得应用的AppID和AppKey。

这里需要注意的是,QQ互联平台下如果有多个应用需要打通,则需要向互联平台申请打通UnionID,这样才可以保证用户用同一个QQ号登陆旗下不同应用。

二、第三方账号绑定流程

1、方案选择

我参考了国内主流的几家互联网公司的第三方账号登录功能,发现主要分成两种设计方案,一种是账号强绑,像京东、小米等,在第三方账号授权通过后,需要用户绑定自己的账号;一种是今日头条、知乎,在第三方账号授权通过后,随机给用户生成一个账号或者调用第三方账号昵称,无需绑定账号,即可成功登录。
因为我们公司是网络游戏公司,用户更多的使用场景是登录游戏客户端,目前游戏客户端暂时无法支持第三方账号登录,只能使用账号密码登录。因此我选择了强绑方案,这也是唯一的选择。

2、绑定流程一(未登录状态)

6.png
用户在登录界面点击第三方账号,授权通过后,我们获得用户第三方账号的OpenID,由此判断用户的第三方账号之前是否绑定过,如果绑定过则直接登录成功。
如果没有绑定过,则跳到账号绑定页面。账号绑定页面需要分成已有账号直接绑定,和没有账号,新注册账号进行绑定两种情况。
当用户已有账号时,通过输入账号密码校验身份,校验通过后即可绑定成功/登录成功。
当用户没有账号时,用户可通过注册新账号,注册成功后即可绑定成功/登录成功。

3、绑定流程二(登录状态)

在个人账号中心里提供绑定管理的功能和界面,在用户已经登录的情况下,可以直接绑定第三方账号,只要获得授权通过,即可绑定成功。

三、第三方帐号解绑流程

在个人账号中心>绑定管理中,可以对已经绑定的第三方账号进行解绑操作。在这里需要注意,由于用户长期使用第三方账号登录,实际上是由第三方账号承担了提交账号和保护账号安全的工作,因此在解绑第三方账号时,我们需要提醒用户,解绑以后只能通过本平台账号密码方式来登录。最好是提示用户记住当前账号
7.jpg
京东的解绑账号功能

另一方面,由于之前是由第三方账号“帮平台”做了账号安全的工作,因此在解绑账号的时候,我们需要考虑如何保护账号安全。因此可以在解绑的时候,对账号做一定的安全校验或安全保护。
我们最终定的方案是 当用户在解绑时,需要校验手机短信验证码,如果没有绑定手机,则提示用户先去绑定手机。
8.png
解绑流程

总结

第三方账号虽然是一个小功能,但是在设计过程中,我们要结合自身产品的特点来确定产品方案和产品流程。授权之后,是直接登录成功,还是绑定自己平台的账号,这是由自己产品特点决定。同时,对新增账号来说,如何设计用户账号的安全,也需要根据产品特点和安全策略来设计适合的产品流程。

引用https://blog.csdn.net/wxb880114/article/details/82848743

最后修改:2019 年 08 月 09 日 10 : 36 AM
如果觉得我的文章对你有用,请随意赞赏

发表评论