西瓜SDK登录验证接口

1. 文档概述

此文档是西瓜SDK服务端接入登录验证文档。介绍游戏服务器如何验证用户登录信息,游戏客户端在接收到西瓜登录成功的回调后, 将对应的信息发送到游戏服务器,游戏服务器使用登录认证接口向西瓜登录服务器验证并获取用户登录信息。
注意: 登录认证接口为登录流程必接接口。

1.1 文档结构

  1. 文档概述
  2. 登录认证接口
  3. 服务端接入样例代码

2. 登录认证接口

2.1 功能

发起方游戏服务器
接收方西瓜SDK服务端
接口类型HTTP GET
字符集编码UTF-8
请求地址http://a2.xgsdk.com/account/verify-session/{xgAppId}

其中xgAppId是游戏在西瓜SDK的唯一标识,如剑侠情缘是2018。去西瓜Web控制台查看我的xgAppId

a2.xgsdk.com是金山云上的西瓜SDK服务器域名,接入不同的云环境有不同的域名,具体URL请参考西瓜Web控制台配置界面里的西瓜SDK接入参数。

功能描述: 游戏服务器向西瓜SDK服务端发送请求,确认客户端发过来的sessionId是有效的,并获取准确的渠道账号。

2.2 输入

参数说明:

参数类型说明必须
typeString接口类型,固定为verify-session
authInfoString会话验证数据,西瓜SDK客户端负责生成,通过onLoginSuccess回调反馈给游戏客户端,游戏客户端提交给游戏服务器后,游戏服务器拿这个参数到西瓜SDK服务器验证登录会话是否有效(因为部分渠道的authInfo比较长,建议游戏留2048个字符
tsString当前时间戳,秒级,如20150723150028对应2015/7/23 15:00:28

2.3 输出

返回结果为JSON格式的字符串,分别有如下几个字段:

字段类型说明必须
codeString返回码,0代表成功,其它错误码请参考错误码章节
msgString接口调用信息提示,成功为success
dataJSONObject当code为0时该字段才有意义,否则为空

data数据:

参数类型说明必须
xgAppIdString西瓜SDK分配给游戏的唯一ID
planIdString发布计划编号
channelIdString渠道ID
deviceIdString用户设备ID
sessionIdString 会话ID
uidString用户ID
userNameString用户名
certificationString0: 用户未进行实名认证;
1: 用户已进行实名认证(未成年);
2: 用户已进行实名认证(已经成年) ;
若无返回,则该渠道没有返回认证信息

2.4 请求示例

客户端上报的authInfo: eyJhdXRoVG9rZW4iOiJhdXRoVG9rZW4iLCJjaGFubmVsSWQiOiJtaSIsImRldmljZUlkIjoiZGV2aWNlSWQiLCJuYW1lIjoibmFtZSIsInBsYW5JZCI6IjEiLCJ4Z0FwcElkIjoiMjAxOCIsInNpZ24iOiJmYTM0MzgxZGM1ODRmNjMxYTg3YTA0MzZlNDllZjRkM2E3MWVlNTVkIiwidHMiOiIyMDE1MDcyMzE1MDAyOCIsInVpZCI6InVpZCJ9

当前时间戳ts为: 20150723150028

请求样例:
http://a2.xgsdk.com/account/verify-session/22320043?authInfo=eyJhdXRoVG9rZW4iOiJhdXRoVG9rZW4iLCJjaGFubmVsSWQiOiJtaSIsImRldmljZUlkIjoiZGV2aWNlSWQiLCJuYW1lIjoibmFtZSIsInBsYW5JZCI6IjEiLCJ4Z0FwcElkIjoiMjAxOCIsInNpZ24iOiJmYTM0MzgxZGM1ODRmNjMxYTg3YTA0MzZlNDllZjRkM2E3MWVlNTVkIiwidHMiOiIyMDE1MDcyMzE1MDAyOCIsInVpZCI6InVpZCJ9&ts=20150723150028&type=verify-session

2.5 返回值样例

{
    "code": "0",
    "msg": "success",
    "data": {
        "xgAppId": "2018",
        "planId": "1",
        "channelId": "mi",
        "deviceId": "imei_867323027683257",
        "sessionId": "oVG9rZW4iOiJhdXRoVG9rZW4iLCJjaGFubmVsSWQiOiJ",
        "uid": "mi__3099245",
        "userName": "渠道用户名"
    }
}

2.6 错误码

错误码 备注
0 成功
-1 签名失败
-2 xgAppId不存在
-3 channelId不存在
-4 用户未实名认证,请先完成实名认证
-5 游客1小时体验时间到
-6 同一设备,15天内不得重复体验游客模式
-7 未成年游戏时间到,每日22时到次日8时不提供游戏服务
-8 未成年游戏时间到,法定节假日每日累计不得超过3小时
-9 未成年游戏时间到,每日累计不得超过1.5小时
-98 请求参数疑似被篡改
-99 西瓜SDK服务器内部错误
-100 获取登录验证参数失败
-101 获取渠道参数失败
-102 连接渠道登录验证接口失败
-103 渠道登录验证结果失败

3. 服务端接入样例代码

西瓜SDK服务端接入样例代码(Java)