文档修订记录
版本 | 更新日期 | 更新内容 |
---|---|---|
3.0.1 | 2024.03.12 | 提供获取微信小游戏、抖音小游戏、华为AccessToken接口 |
1. 获取AccessToken接口
1.1 说明
目前仅支持获取微信小游戏、抖音小游戏、华为AccessToken,具体接入找平台协助处理
1.2 Api地址
地址: https://api-atm.feiyu.com/v1/accessToken/get
1.3 请求方式
POST
1.4 请求头
"Content-type":"application/json"
1.5 请求参数
请求实例:
{"app_id":xxx,"channel_id":xxx,"sign_type":"md5","sign_nonce":"19219212","sign_version":"1.0","timestamp":"1710151312","sign":"02ecce200347a2afe48125020fb0764b"}
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
app_id | 是 | int | 令牌服务应用ID,星云开放平台->对接中心->渠道配置,字段 atm_app_id |
channel_id | 是 | int | 令牌服务渠道ID,星云开放平台->对接中心->渠道配置,字段 atm_channel_id |
timestamp | 是 | string | 10位时间戳 |
sign | 是 | string | 签名值,获取AppSecret (星云开放平台->对接中心->渠道配置,字段 atm_app_secret)进行签名 |
sign_type | 是 | string | 签名类型(默认:md5) |
sign_nonce | 是 | string | 签名随机数(随机数字+字符串共8位) |
sign_version | 是 | string | 签名版本,默认1.0 |
1.6 返回参数
返回实例:
{"trace_id":"1b9e1f46d2fa1b06cc52711338e8e406","status":0,"message":"OK","data":{"access_token":"77_cHnYarBmRtmyV1vM_YlkVsddmYBpO8aYWpE6OWyHo4VDDUHyYjPEq9Ik3qrGyLu_NR2QCdPY5jY1L1CeKfw1kY4NvaGpIO1dk0KAP6c6di-xi1qgzm9q7HvlxLYJRVhAAATBF","expires_in":7196}}
通用参数
参数名 | 类型 | 说明 |
---|---|---|
trace_id | string | 请求唯一ID |
status | int | 状态码, 0代表成功,非0状态码可参考如下错误码表格确认信息 |
message | string | 返回结果描述 |
数据参数
(若status=0,则data数据参数会返回对应如下信息)
参数名 | 类型 | 说明 |
---|---|---|
access_token | string | 通讯密钥 |
expires_in | int | 过期时间(单位:秒) |
2 签名规则
2.1 MD5步骤说明
1 待签名参数 :除去 sign ,其他参数(包含空值的参数)都要参加验签。
2 对所有待签名参数按照字段名的ASCII码从小到大排序。
3 使用键值对的格式(key1=value1&key2=value2)拼接成字符串;进行urlencode编码(PHP使用rawurlencode),获得$source字符串。
4 将步骤3的$source字符与秘钥通过&符号进行拼接:$source&AppSecret
。
5 将步骤4的字符串进行md5哈希签名得到最终sign值。
签名样例(PHP版本):
1 秘钥获取AppSecret
:星云开放平台->对接中心->渠道配置,字段 atm_app_secret
2 验证案例:
ksort($data);//1 按照健值从小到大排序
$query_string = array();//2 键值对按照'='拼接,排除sign参数
foreach ($data as $key => $val) {
if ($key == 'sign') continue;
array_push($query_string, $key . '=' . $val);
}
$query_string = join('&', $query_string);//3 将上述数组按照&拼接
$source = rawurlencode($query_string);//4 将拼接结果用rawurlencode编码
$sign= md5($source.'&'. $app_secret);//md5 hash计算签名