单码卡密登录,成功后返回 auth_token。

接口地址: https://xy.ttnb666.top/api.php?api=kmlogon&app=YOUR_APP_ACCESS_CODE

返回格式: JSON

请求方式: POST

请求示例: https://xy.ttnb666.top/api.php?api=kmlogon&app=YOUR_APP_ACCESS_CODE

安全协议: v2 HMAC-SHA256,旧版 MD5 Sign、GET 直连和 URL 带 key 均不兼容

公共安全参数:

名称 变量/请求头 必填 位置 说明
协议版本 security_version / X-Auth-Version POST或Header 固定填写 2
时间戳 security_timestamp / X-Auth-Timestamp POST或Header Unix 秒级时间戳,允许 300 秒误差
随机串 security_nonce / X-Auth-Nonce POST或Header 16 到 96 位随机字符串,每次请求必须不同
请求签名 security_sign / X-Auth-Signature POST或Header 使用 APPKEY 对签名原文计算 HMAC-SHA256
登录令牌 auth_token / X-Auth-Token 按接口需要 POST或Header 卡密登录、账号登录等登录成功后返回;解绑、取文件等授权态接口必须提交

签名原文:

app-api-v2
POST
kmlogonYOUR_APP_ACCESS_CODE
security_timestamp
security_nonce
auth_token或留空
按参数名升序排序后的业务参数查询串
业务参数查询串只包含接口业务字段,不包含 api、app、security_version、security_timestamp、security_nonce、security_sign、sign、auth_token、data、value、PHPSESSID 等安全或系统字段。编码规则使用 RFC3986 URL 编码。签名原文里的 app 字段必须和请求地址里的 app 参数完全一致。

响应验签:

服务端返回 server_sign_alg=RSA-SHA256、server_key_id、server_key_scope、server_public_key、server_sign、request_nonce、server_time
客户端必须校验 request_nonce 等于本次 nonce
客户端必须使用当前应用预置的服务端公钥验 server_sign
server_sign = base64url(rsa_sha256_sign(canonical_json_without_server_sign, SERVER_PRIVATE_KEY))
每个应用可以配置独立响应签名私钥/公钥。正式客户端不能只信任响应里带回的 server_public_key;应内置当前应用访问码对应的固定公钥或固定 server_key_id。server_public_key 仅用于展示、调试和公钥轮换对照。

业务请求参数说明:


名称 变量 必填 类型 说明
接口 api URL Query 填写kmlogon
应用 app URL Query 填写后台应用访问码(URL app 参数)
卡密 kami POST 填写提交的卡密
设备码 markcode POST 如果开启了[验证设备]需提交此项

返回参数说明:

名称 类型 说明
code String 返回状态
kami String 提交的卡密
vip String 卡密到期时长

返回示例:

{
    "code": 200,
    "msg": {
        "kami": "2iPMrvyhqH",
        "vip": "1614693232"
    },
    "time": 1614689800,
    "check": "00e837c144a02a5ed3717647ee3f33da"
}

错误码格式说明:

名称 类型 说明
101 String 应用不存在
102 String 应用已关闭
171 String 接口维护中
172 String 接口未添加或不存在
104 String 签名为空
105 String 数据过期
106 String 签名有误
148 String 卡密为空
149 String 卡密不存在
151 String 卡密禁用
169 String IP不一致

代码示例:

暂未添加示例代码