首页 > Android游戏接入第三方渠道账号登录的问题

Android游戏接入第三方渠道账号登录的问题

联想

安智

豌豆荚

Android游戏接入第三方渠道登录的问题。看了多个渠道的SDK文档,流程一般是这样的:
1、Andorid客户端调用SDK登录方法,弹出登录界面;
2、用户输入用户名密码,点登录按钮;
3、SDK拿到用户输入的用户名密码,去渠道服务器校验;
4、校验成功后返回uid和token;
5、Andorid客户端拿到uid和token;
6、Andorid客户端将token发送到APP服务器;
7、APP服务器拿到token,发送token到渠道服务器去校验token;
8、校验token成功,将结果返回给Andorid客户端;
9、登录成功。

本人之前是做Web开发没做过Andorid,对以上流程有疑问。
为什么需要第6~8步骤,才能判断用户登录成功?去到上面6~8,客户端只要拿到uid,这个uid是否就可以直接使用?不去服务器端校验一下token会有什么安全问题吗?


别被所谓的一群token迷惑了,实际上他们不是同一个意思。
首先这个token是由代理商生成的,一般就是个密码账号的校验和,这一步和游戏开发商毫无关系,是代理商和玩家之间的协定。然后生成的token作为密码发送给游戏服务器作为登陆依据。

打个比方:QQ游戏。
你通过QQ游戏客户端输入QQ账号和密码,其实账号密码并非直接发送到游戏服务器的,否则每个游戏数据库得有多大?而且腾讯也不放心把用户数据给游戏不是。因此,账号密码是发送给腾讯的服务器的,腾讯的服务器返回一个token和账号(注意啦,这是QQ号和QQ密码运算之后的结果),然后游戏客户端再把这个token和账号发送给游戏的服务端,这一过程才是登陆游戏。

而对于游戏服务器来说,判断用户的唯一标识就是账号和token,实际上,这里的token虽然和之前一样,但意义已经不同,就类似于密码一样。

换句话讲,你直接把账号和token发送给游戏服务器就可以登陆游戏了,之前的一步登陆只是为了获取用来登陆游戏服务器的token而已。


uid和token的关系就像很多公司的"员工和门禁卡"的关系,员工进入公司成为公司的员工(uid),公司给员工发放门禁卡(token),员工要进入办公室得刷门禁卡,这下好理解一点这其中暗含的安全关系问题了吧。

【热门文章】
【热门文章】