KBEngine官方论坛

 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 配置 开服
查看: 726|回复: 5

第三方登录 分享和建议

[复制链接]

28

主题

112

帖子

440

积分

中级会员

Rank: 3Rank: 3

积分
440
发表于 2016-5-18 14:02:04 | 显示全部楼层 |阅读模式
在第三方登录的使用过程中,流程大致是这样的:<dbmgr/>
开启 InterfacesServiceAddr enable为true

普通账号和第三方都会经过Interfaces进程  
在Interfaces进程 onRequestAccountLogin 会被触发

通过客户端带来的datas去区分是第三方还是本地服务器的普通登录
   case 1.本地服务器的普通登录 返回 KBEngine.SERVER_ERROR_NEED_CHECK_PASSWORD
   case 2.第三方登录 ,丢到第三方去验证,根据第三方的成功失败,返回给引擎 KBEngine.SERVER_SUCCESS or  KBEngine.SERVER_ERROR_XXXX


如果是第三方登录,并且登录返回成功的话,那么还存这样的问题 在本地服务器数据库没有该账号,需求给其自动创建账号,
但是后台我又关闭了自动创建(如果开启,本地服务器普通账号也会不存在就创建)
那么,只能通过其他方式去让第三方登录成功的账号,使其在关闭后台不存在账号自动创建的规则下,也可以创建账号
源码中通过配置的规则notFoundAccountAutoCreate是否成立来决定是否自动创建
所有我建议:再加一个条件:
通过getdatas_来做判断,即 if ( notFoundAccountAutoCreate or getdatas_ == "XXX" ) {writeAccount()}
这样服务器interfaces在得到第三方验证成功的时候,返回SUCCESS的同时,带回 datas = "XXX",就可以自动创建账号了

以上是我使用过程的分享
我的建议也提了,不过这样的话得修改源码,不知道是不是还有更合理更简单的方式。比如不修改源码就可以做到。
回复

使用道具 举报

30

主题

7138

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
16457
QQ
发表于 2016-5-18 15:19:52 | 显示全部楼层
:victory:
热爱游戏、热爱开源!
柯标
3603661@qq.com

柯标
3603661@qq.com
回复

使用道具 举报

30

主题

7138

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
16457
QQ
发表于 2016-5-22 00:20:56 | 显示全部楼层
你的建议所遇到的问题我可以考虑第三方登陆返回成功时强制自动创建账号,如果第三方登陆成功,还支持不自动创建账号似乎是没有必要的因为无法正常登陆了。
热爱游戏、热爱开源!
柯标
3603661@qq.com

柯标
3603661@qq.com
回复

使用道具 举报

11

主题

173

帖子

481

积分

中级会员

Rank: 3Rank: 3

积分
481
发表于 2017-6-20 14:12:00 | 显示全部楼层
请问楼主,第三方的token是怎么验证的?
回复

使用道具 举报

3

主题

22

帖子

79

积分

注册会员

Rank: 2

积分
79
发表于 2019-1-10 10:54:45 | 显示全部楼层
kbe 发表于 2016-5-22 00:20
你的建议所遇到的问题我可以考虑第三方登陆返回成功时强制自动创建账号,如果第三方登陆成功,还支持不自动 ...

你还,这个强制自动创建没有加上么
回复

使用道具 举报

5

主题

4530

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-10 13:37:17 | 显示全部楼层
早加了
QQ:3603661
3603661@qq.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|KBEngine Forum

GMT+8, 2019-3-26 08:53 , Processed in 0.033571 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表