第三方账号登录功能接入全流程浅析
第一次写产品方面的心得文章,如有写的不好或者错误的地方,请大家多多指教。
本人在一家网络游戏公司工作,负责公司的基础平台性的产品。主要有用户中心、充值/支付平台、账号密保APP等。我们公司的用户中心之前没有接入第三方账号登录,虽然之前已经向公司提出过产品需求,因公司有一些战略考虑,也一直没有启动。这次趁着新游戏的接入工作,终于把这个项目提上日程。作为产品经理,我负责了开放平台申请、产品设计、交互原型、项目管理到最后的测试、发布等工作,参与了项目的全过程。
产品初始方案:首先确定要选择哪几家账号进行接入,考虑到国内主流,我们选择了微信、QQ和微博,这三家是国内用户群最大的三个平台,没啥好说的。
第三方账号登录流程
一、获取第三方账号登录授权
获取授权的流程
1、申请第三方开放平台的账号
三家开放平台的申请地址
注1:申请QQ登录一定要在QQ互联平台,不是在QQ开放平台(open.qq.com)
注2:申请过程中可能需要企业相关资质,如法人身份证、营业执照、税务登记证等,需要提前准备好。
注3:提交应用申请时,需要提交应用相关的信息(应用名称、介绍、图标、截图、授权回调域等),微信还需要提交《微信开放平台网站信息登记表》。
注4: 建议大家用企业账号申请第三方开放平台,不要使用个人的QQ、微信、微博和邮箱进行申请,这样可以避免申请人在职位变动或者离职后,导致账号管理的风险和交接麻烦。
注5:开放平台申请多数需要审核流程,因此在项目开始时,建议首先申请开放平台账号和创建应用,以免申请时间长影响开发进度。
2、微博登录申请
微博登录申请流程
登录微博开放平台后,需要申请应用。因为我们要申请的是网页版微博登录,因此选择【微链接 > 网站接入】应用类型,填好自己应用的名称和应用分类(选择网页应用类型),点击【创建】即可创建成功。应用创建成功后,可以获得Appid和AppSecret进行开发。
这个时候应用还是未审核状态,在未审核的情况下,微博提供了测试信息,可以绑定最多15个微博账号进行测试。只有在开发完成、部署到线上地址后,才可以提交审核通过,审核通过后即可上线。
3、微信登录申请
登录微信开放平台,选择【管理中心 > 网站应用 > 创建网站应用】,提交创建应用申请后,等待微信开放平台审核。审核通过后,可以获得应用的AppID和AppSecret进行开发。
不过这个时候还不能使用微信登录功能,应用审核通过后还需要单独申请微信登录接口权限。提交申请,审核通过后才可正常使用微信登录接口。
4、QQ登录申请
QQ登录需要在QQ互联平台进行申请(https://connect.qq.com/),QQ开放平台(open.qq.com)是用来将APP接入到腾讯旗下平台的,如QQ空间、应用宝等,不要搞混了,切记切记。
登录后,选择【应用管理 > 创建应用】,当然这里我们选择创建网站应用,根据网站的指引,填写相关信息,提交等待审核。
审核通过后,即可获得应用的AppID和AppKey
这里需要注意的是,QQ互联平台下如果有多个应用需要打通,则需要向互联平台申请打通UnionID,这样才可以保证用户用同一个QQ号登陆旗下不同应用。
二、第三方账号绑定流程
1、方案选择
我参考了国内主流的几家互联网公司的第三方账号登录功能,发现主要分成两种设计方案,一种是账号强绑,像京东、小米等,在第三方账号授权通过后,需要用户绑定自己的账号;一种是今日头条、知乎,在第三方账号授权通过后,随机给用户生成一个账号或者调用第三方账号昵称,无需绑定账号,即可成功登录。
因为我们公司是网络游戏公司,用户更多的使用场景是登录游戏客户端,目前游戏客户端暂时无法支持第三方账号登录,只能使用账号密码登录。因此我选择了强绑方案,这也是唯一的选择。
2、绑定流程一(未登录状态)
用户在登录界面点击第三方账号,授权通过后,我们获得用户第三方账号的OpenID,由此判断用户的第三方账号之前是否绑定过,如果绑定过则直接登录成功。
如果没有绑定过,则跳到账号绑定页面。账号绑定页面需要分成已有账号直接绑定,和没有账号,新注册账号进行绑定两种情况。
- 当用户已有账号时,通过输入账号密码校验身份,校验通过后即可绑定成功/登录成功。
- 当用户没有账号时,用户可通过注册新账号,注册成功后即可绑定成功/登录成功。
3、绑定流程二(登录状态)
在个人账号中心里提供绑定管理的功能和界面,在用户已经登录的情况下,可以直接绑定第三方账号,只要获得授权通过,即可绑定成功。
三、第三方帐号解绑流程
在个人账号中心>绑定管理中,可以对已经绑定的第三方账号进行解绑操作。在这里需要注意,由于用户长期使用第三方账号登录,实际上是由第三方账号承担了提交账号和保护账号安全的工作,因此在解绑第三方账号时,我们需要提醒用户,解绑以后只能通过本平台账号密码方式来登录。最好是提示用户记住当前账号
京东的解绑账号功能
另一方面,由于之前是由第三方账号“帮平台”做了账号安全的工作,因此在解绑账号的时候,我们需要考虑如何保护账号安全。因此可以在解绑的时候,对账号做一定的安全校验或安全保护。
我们最终定的方案是 当用户在解绑时,需要校验手机短信验证码,如果没有绑定手机,则提示用户先去绑定手机。
解绑流程
总结
第三方账号虽然是一个小功能,但是在设计过程中,我们要结合自身产品的特点来确定产品方案和产品流程。授权之后,是直接登录成功,还是绑定自己平台的账号,这是由自己产品特点决定。同时,对新增账号来说,如何设计用户账号的安全,也需要根据产品特点和安全策略来设计适合的产品流程。
作者:黄勇,现任职空中网产品经理,负责空中网基础平台产品,包括账号通行证、充值、支付,密保APP、客服等产品,微信公众号:产品520(chanpin_520)
本文由 @黄勇 原创发布于人人都是产品经理。未经许可,禁止转载。
亲爱的楼主您好,我这边在准备APP 支付接口的方案,请问您有什么方案吗?可以分享一下吗?297451978@qq.com!谢谢大佬
绑定流程一,未绑定账号那里还有一种情况,假如输入的账号已被绑定过了,该怎么处理
那可以直接登录了啊 😯
谢谢关注,我去看下大牛的文章 😉
谢谢关注~其实我认为第三方登录选择的标准有几点:1、用户量基数大;2、用户经常使用;3、带有社交关系和属性,便于传播和分享。因此像360、百度、淘宝、支付宝等不是天天使用,没有社交关系链的账号,不是接入的首要选择。
确实很方便
这个角度的文章可能是看过太多了吧,有点大同小异,你可以写一下功能型第三方接入(天翼开放平台、腾讯开放平台之类)不过怎么讲都比我这些投稿不通过的人写得好了,希望再接再厉哈
谢谢鼓励~
您好想问一下 你的游戏账号 注册是 那种方式 用户名、手机号、邮箱?
手机号和邮箱,用户名方式的已经取消了。
哈哈 我也是因为看 解绑流程才有此一问 🙄
解绑操作如果没有绑定手机则需要提示绑定手机,此处的逻辑非常诡异,能否解释一下?此处解绑从安全策略考虑应是验证用户身份,在没有绑定手机的前提下应该采用密码验证的方式,而不是绑定手机,在发验证码的方式验证吧。
一开始设计时也是没有这个逻辑的,后来业务要求加个收集用户手机的要求,我个人也认为这个障碍设计非常不友好,而且绑定手机的场景放在这里也显得诡异。没有PK过老板和业务 😥 。
收集手机号的话,以这个目标可以绑定有奖啊,绑定送道具之类,当然了,老板的需求就是最高需求,这是我们的服务宗旨 ❗
写的很详细,不错的文章,看得出来是第一次写,写的很认真,很细致,希望以后还可以看到你更多优秀的文章,加油!
谢谢鼓励~