信息同步
信息同步是指将游戏中的区服信息、玩家聊天消息主动告知平台,游戏方后端需要主动调用平台的接口来实现信息同步。
签名规则
签名规则与基本功能的签名规则基本一致,不过这里请求的数据没有 body
字段,因此是对请求数据中的所有字段,即对 sign
以外的字段进行签名。
示例
假设签名密钥 sign_key
为 test_key_e3654407c996bd0f8a45a14
,请求的数据如下:
{
"game_id": "cdrg0rjrc8k0m7af5fcg",
"time": 1713239399,
"servers": "[{\"name\":\"迅雷一服\",\"server_id\":12222222,\"open_at\":\"2024-04-16 18:00:00\"},{\"name\":\"迅雷二服\",\"server_id\":12222223,\"open_at\":\"2024-04-16 18:00:00\"},{\"name\":\"迅雷三服\",\"server_id\":12222224,\"open_at\":\"2024-04-16 18:00:00\", \"display\":\"0\"}]",
"sign": "0ba044983ae1ea751f4f5242063ba9fb"
}
将参与签名的参数按属性名升序排序,然后拼接为 k1=v1&k2=v2
格式:
const signString =
'game_id=cdrg0rjrc8k0m7af5fcg&servers=[{"name":"迅雷一服","server_id":12222222,"open_at":"2024-04-16 18:00:00"},{"name":"迅雷二服","server_id":12222223,"open_at":"2024-04-16 18:00:00"},{"name":"迅雷三服","server_id":12222224,"open_at":"2024-04-16 18:00:00", "display":"0"}]&time=1713239399';
将签名密钥 sign_key
拼接字符串的末尾:
const signStringWithKey =
'game_id=cdrg0rjrc8k0m7af5fcg&servers=[{"name":"迅雷一服","server_id":12222222,"open_at":"2024-04-16 18:00:00"},{"name":"迅雷二服","server_id":12222223,"open_at":"2024-04-16 18:00:00"},{"name":"迅雷三服","server_id":12222224,"open_at":"2024-04-16 18:00:00", "display":"0"}]&time=1713239399test_key_e3654407c996bd0f8a45a14';
MD5 计算字符串,得到签名(32 位小写字符串):
const sign = MD5(signStringWithKey) = "0ba044983ae1ea751f4f5242063ba9fb";