目录

1. 接口功能

应用服务端在获取登录签名后调用此接口请求华为游戏服务器进行登录验签。

2. 调用场景

当应用客户端在调用login接口获取登录结果后,传递给应用服务端。为了确保登录结果的准确性,应用的服务端需要调用本接口向华为游戏服务器验证登录结果中的登录签名,验证成功后才能确定登录成功。

3. 接口约束

调用本接口前必须已经成功调用login接口。

4. 接口原型

承载协议
HTTPS POST
接口方向
开发者服务器->华为游戏服务器
接口URL

https://jos-api.cloud.huawei.com/gameservice/api/gbClientApi

警告:
此接口当前不支持SSL双向认证,在发送HTTPS请求时需要先关闭SSL认证,示例代码请参见游戏服务端示例代码。
数据格式
请求:Content-Type:   application/json
响应:Content-Type:   application/json

5. 请求参数

警告:
HTTP消息采用“Content-Type:   application/json”,在传入参数时需对所有请求参数进行一次urlencode。


参数名称必选(M)/可选(O)类型是否参与签名参数说明
method
M
string
是
固定传入“external.hms.gs.checkPlayerSign”。
appId
M
string
是
游戏的应用ID,在创建应用后由华为开发者联盟为应用分配的唯一标识。应用ID的查询方法请参见查询应用ID。
cpId
M
string
是
商户ID,即华为开发者联盟给开发者分配的“支付ID”。
支付ID的查询方法请参见查询支付服务信息。
ts
M
string
是
时间戳,原始值取自login接口返回的ts参数。
playerId
M
string
是
玩家ID,原始值取自login接口返回的playerId参数。
playerLevel
M
string
是
玩家等级。原始值取自login接口返回的playerLevel参数。
playerSSign
M
string
是
登录签名。原始值取自login接口返回的gameAuthSign参数。
cpSign
M
string
否
用于华为游戏服务器对请求参数验签的签名字符串。
为防止请求被篡改,应用需要根据登录验签接口签名字符串的生成方法中的方法生成签名字符串,华为服务器在收到请求后会对签名字符串进行验签,验签成功后才会进行后续处理,否则将返回失败错误码。

6. 返回参数

参数名称必选(M)/可选(O)类型是否参与验签参数说明
rtnCode
M
int
是
登录验签的返回码。
● 0:验签成功。
● -1:验签失败,请检查签名字符串是否按要求生成、时间戳是否失效、签名是否进行urlencode等。
● 1:接口鉴权失败,请检查应用是否已创建且申请了游戏服务和支付服务。
● 3001:参数错误,请检查传参是否满足格式要求、是否遗漏。
ts
O
string
是
接口返回的当前时间的时间戳,即当前时间距1970年的毫秒数。
此参数仅在rtnCode等于0时返回。
rtnSign
O
string
否

返回参数的签名字符串。

应用可以参考对登录验签响应消息验签对签名字符串进行验签,确认响应消息是否被篡改。

7. 调用示例

类型样例
请求消息样例
  1. POST
  2.  https://jos-api.cloud.huawei.com/gameservice/api/gbClientApi
  3.  Content-Type: application/json;charset=UTF-8
  4.  Content-Length: 199
  5.  Host: jos-api.cloud.huawei.com
  6.  Connection: Keep-Alive
  7. https://jos-api.cloud.huawei.com/gameservice/api/gbClientApi?playerLevel=3&playerSSign=TSHRzyk/FNvpl40cHN8J8DEjzNfggF/FC2kPZBiy2Yjhusy4+dG+2Zdb3FySfcQKHYzJhhL8TGW767HyuVRYVOEA+kcth+eJCBKDkvK3hmF7moS/IuCFLX+NQhy5oEHJz3ftoEDqPilcyhqPQHUnsBCttk0tym2Lroia2KhWOT8T3wS6Upl0zTn5wmEwCNKtA5YgVcA83GpGj9h7h02yzpLVq5yIpxgm87VOgofrwVzTGVxm5TG5OIgIYvLvktuvVugVLFu4oq+u/U/zh7JuFtzOQW5q9HS9ETkykVXSWSel1F8rTeHcum5SsXZT/LX2vvB7ScXGOwTBWyqVMtZA8g==&method=external.hms.gs.checkPlayerSign&cpId=9000860000000***67&appId=1002****7&cpSign=Pt8iwfG+MHnk7jiR+Dw2p80Vo3JbPT*******DoftUt4v2uAWqmN202zyEbk76+L6QtVpCEcNJ001hbUkQgdz8b0E757TECbzs/sH75Avsyg0aQ0MMLnsdXwk1DIj39G2Y/+0bQriIvezi+h8ms1rXGYWI2IIgLtnTf5Ra+Bvc==&ts=1555903846920&playerId=11784*****03282
返回消息样例
  1. HTTP/1.1 200 Created
  2. Content Type : application/json ; charset=UTF-8
  3. {
  4.  "rtnCode":0
  5.  "ts": 1500552495471
  6.  "rtnSign": ZPX0ENIRUaOPav4zpMYJ8D4ahpdrYgBuWEwD5yypN1TCK7NKnu8I2BHNDGjZKZKpqSOJ1Govg2FuFsauvAyY2Bw3rPkYAuEJHIQqcgDI1GUgb396dH
  7. }