第三方账号虽然是一个小的功能点,但是在设计过程中,我们依然要结合自身产品的特点来确定产品方案和产品流程。
本人在一家网络游戏公司工作,负责公司的基础平台性的产品。主要有用户中心、充值/支付平台、账号密保APP等。我们公司的用户中心之前没有接入第三方账号登录,虽然之前已经向公司提出过产品需求,因公司有一些战略考虑,也一直没有启动。这次趁着新游戏的接入工作,终于把这个项目提上日程。作为产品经理,我负责了开放平台申请、产品设计、交互原型、项目管理到最后的测试、发布等工作,参与了项目的全过程。
产品初始方案:首先确定要选择哪几家账号进行接入,考虑到国内主流,我们选择了微信、QQ和微博,这三家是国内用户群最大的三个平台,没啥好说的。
第三方账号登录流程
获取授权的流程
三家开放平台的申请地址:
微博开放平台 |
http://open.weibo.com |
微信开放平台 |
https://open.weixin.qq.com |
QQ互联平台 |
https://connect.qq.com |
注1、 申请QQ登录一定要在QQ互联平台,不是在QQ开放平台(open.qq.com) 注2、 申请过程中可能需要企业相关资质,如法人身份证、营业执照、税务登记证等,需要提前准备好。 注3、 提交应用申请时,需要提交应用相关的信息(应用名称、介绍、图标、截图、授权回调域等),微信还需要提交《微信开放平台网站信息登记表》 注4、 建议大家用企业账号申请第三方开放平台,不要使用个人的QQ、微信、微博和邮箱进行申请,这样可以避免申请人在职位变动或者离职后,导致账号管理的风险和交接麻烦。 注5、 开放平台申请多数需要审核流程,因此在项目开始时,建议首先申请开放平台账号和创建应用,以免申请时间长影响开发进度。 |
微博登录申请流程
登录微博开放平台后,需要申请应用。因为我们要申请的是网页版微博登录,因此选择【微链接 > 网站接入】应用类型,填好自己应用的名称和应用分类(选择网页应用类型),点击【创建】即可创建成功。应用创建成功后,可以获得Appid和AppSecret进行开发。
这个时候应用还是未审核状态,在未审核的情况下,微博提供了测试信息,可以绑定最多15个微博账号进行测试。只有在开发完成、部署到线上地址后,才可以提交审核通过,审核通过后即可上线。
登录微信开放平台,选择【管理中心 > 网站应用 > 创建网站应用】,提交创建应用申请后,等待微信开放平台审核。审核通过后,可以获得应用的AppID和AppSecret进行开发。
不过这个时候还不能使用微信登录功能,应用审核通过后还需要单独申请微信登录接口权限。提交申请,审核通过后才可正常使用微信登录接口。
QQ登录需要在QQ互联平台进行申请(https://connect.qq.com/),QQ开放平台(open.qq.com)是用来将APP接入到腾讯旗下平台的,如QQ空间、应用宝等,不要搞混了,切记切记。
登录后,选择【应用管理 > 创建应用】,当然这里我们选择创建网站应用,根据网站的指引,填写相关信息,提交等待审核。审核通过后,即可获得应用的AppID和AppKey。
这里需要注意的是,QQ互联平台下如果有多个应用需要打通,则需要向互联平台申请打通UnionID,这样才可以保证用户用同一个QQ号登陆旗下不同应用。
我参考了国内主流的几家互联网公司的第三方账号登录功能,发现主要分成两种设计方案,一种是账号强绑,像京东、小米等,在第三方账号授权通过后,需要用户绑定自己的账号;一种是今日头条、知乎,在第三方账号授权通过后,随机给用户生成一个账号或者调用第三方账号昵称,无需绑定账号,即可成功登录。
因为我们公司是网络游戏公司,用户更多的使用场景是登录游戏客户端,目前游戏客户端暂时无法支持第三方账号登录,只能使用账号密码登录。因此我选择了强绑方案,这也是唯一的选择。
用户在登录界面点击第三方账号,授权通过后,我们获得用户第三方账号的OpenID,由此判断用户的第三方账号之前是否绑定过,如果绑定过则直接登录成功。
如果没有绑定过,则跳到账号绑定页面。账号绑定页面需要分成已有账号直接绑定,和没有账号,新注册账号进行绑定两种情况。
当用户已有账号时,通过输入账号密码校验身份,校验通过后即可绑定成功/登录成功。
当用户没有账号时,用户可通过注册新账号,注册成功后即可绑定成功/登录成功。
在个人账号中心里提供绑定管理的功能和界面,在用户已经登录的情况下,可以直接绑定第三方账号,只要获得授权通过,即可绑定成功。
在个人账号中心>绑定管理中,可以对已经绑定的第三方账号进行解绑操作。在这里需要注意,由于用户长期使用第三方账号登录,实际上是由第三方账号承担了提交账号和保护账号安全的工作,因此在解绑第三方账号时,我们需要提醒用户,解绑以后只能通过本平台账号密码方式来登录。最好是提示用户记住当前账号
京东的解绑账号功能
另一方面,由于之前是由第三方账号“帮平台”做了账号安全的工作,因此在解绑账号的时候,我们需要考虑如何保护账号安全。因此可以在解绑的时候,对账号做一定的安全校验或安全保护。
我们最终定的方案是 当用户在解绑时,需要校验手机短信验证码,如果没有绑定手机,则提示用户先去绑定手机。
总结:
第三方账号虽然是一个小的功能点,但是在设计过程中,我们依然要结合自身产品的特点来确定产品方案和产品流程。授权之后,是直接登录成功,还是绑定自己平台的账号,这是由自己产品特点决定。同时,对新增账号来说,如何设计用户账号的安全,也需要根据自己产品的特点和安全策略来设计适合的产品流程。