Authdog
  1. 其他接口
Authdog
  • 常见问题
  • 使用说明
    • 功能介绍
    • 云函数篇
    • 销售代理
    • 部署教程
    • 更新Authdog教程
    • 更新日志
  • 用户模式
    • 用户注册
      POST
    • 用户登录
      POST
    • 修改密码
      POST
    • 解绑设备
      POST
    • 充值/激活
      POST
    • 心跳请求
      POST
    • 扣减点数
      POST
    • 退出登录
      POST
  • 设备ID模式
    • 设备授权
      POST
    • 充值/激活
      POST
    • 获取设备信息
      POST
    • 扣减点数
      POST
  • 云变量
    • 通过ID获取云变量
      POST
    • 通过名称获取云变量
      POST
  • 云函数
    • 通过ID运行云函数
      POST
    • 通过名称运行云函数
      POST
  • 用户数据
    • 创建用户数据
    • 通过唯一值获取数据
    • 通过名称获取数据列表
    • 获取用户数据列表
    • 删除用户数据
    • 修改用户数据
  • 用户资产明细
    • 获取用户资产明细
  • 其他接口
    • TCP接口
    • 获取应用信息
      POST
    • 提交用户反馈
      POST
  • 加密和安全
    • 通讯加密
    • 请求路径加密
    • 应用安全
  1. 其他接口

TCP接口

为了在某些时候您认为http请求容易被破解或其他原因Authdog提供了两个用于授权的TCP接口

TCP API服务器:tcpapi.authdog.cn:3001

请求TCP报文格式如下

<json_length>#{
  "pattern": "操作符",
  "data": "请求数据字符串",
  "id": "消息ID"
}

📌

解析
<json_length> 为后面的json字符串长度 不包括#
# 固定
后面接着json字符串 整体以字符串形式发送报文

注意:若报文格式有误将不会得到回应

响应TCP报文格式如下

<json_length>#{"response":"响应字符串","isDisposed":true,"id":"请求消息ID"}
1、设备ID模式授权

操作符 001
请求数据

{
  "appid": 11,
  "ciphertext": {
    "deviceId": "fa6a91ef9baa242de0b354a212e8cf83"
  }
}

📌

解析
操作符 001 固定
appid 为应用ID
ciphertext 为数据内容
deviceId 为设备ID

整体请求数据json应该转为字符串后放到data中

示例:

169#{
  "pattern": "001",
  "data": "{\"appid\": 11, \"ciphertext\": {\"deviceId\": \"fa6a91ef9baa242de0b354a212e8cf83\"}}",
  "id": "399b272e-233d-4d3a-973a-28cad1814507"
}

响应示例:

576#{"response":"{\"code\":200,\"msg\":\"OK\",\"data\":{\"device\":{\"id\":3,\"createdAt\":1680941051183,\"updatedAt\":1680948581000,\"developerId\":3,\"appid\":11,\"deviceId\":\"fa6a91ef9baa242de0b354a212e8cf83\",\"otherInfo\":\"\",\"brand\":\"XIAOMI\",\"model\":\"MI13\",\"osType\":\"android\",\"status\":\"normal\",\"balance\":0,\"expirationTime\":1684483486000,\"trialExpiration\":1680941051000,\"lastLoginTime\":1680941051000},\"auth\":{\"result\":true,\"message\":\"\",\"expire\":1684483486000,\"balance\":0}}}","isDisposed":true,"id":"399b272e-233d-4d3a-973a-28cad1814507"}
1、用户模式授权

操作符 002
请求数据

{
  "appid": 9,
  "ciphertext": {
    "name": "dogcat666",
    "password": "25005443303cc9b58ed54ed67a187ea4"
  }
}

💡

解析
与上面不同的是ciphertext中参数
name为用户名
password为用户密码MD5

整体请求数据json应该转为字符串后放到data中

示例:

193#{
  "pattern": "002",
  "data": "{\"appid\": 9, \"ciphertext\": {\"name\": \"dogcat666\", \"password\": \"25005443303cc9b58ed54ed67a187ea4\"}}",
  "id": "399b272e-233d-4d3a-973a-28cad1814507"
}

响应示例:

619#{"response":"{\"code\":200,\"msg\":\"OK\",\"data\":{\"user\":{\"id\":6,\"createdAt\":1680894081345,\"updatedAt\":1680963833000,\"developerId\":3,\"appid\":9,\"name\":\"dogcat666\",\"mobile\":\"13000000009\",\"otherInfo\":\"\",\"status\":\"normal\",\"balance\":0,\"currentDeviceId\":\"fa6a91ef9baa242de0b354a212e8cf83\",\"unbindCount\":3,\"expirationTime\":1776930982000,\"trialExpiration\":1680894081000,\"lastLoginTime\":1680894081000,\"useDeviceName\":\"XIAOMI-MI13\"},\"auth\":{\"result\":true,\"message\":\"\",\"expire\":1776930982000,\"balance\":0}}}","isDisposed":true,"id":"399b272e-233d-4d3a-973a-28cad1814507"}

注意

具体响应消息中属性解释请查看HTTP的用户登录和设备授权接口

请求加密

与HTTP接口加密方法和规则一致,其中消息内容的ciphertext字段为加密内容,加密后使用base64字符串为值,并且data中加入key属性(如果需要的话 具体请参照HTTP接口加密规则)

AES加密data内容示例

{
  "appid": 9,
  "ciphertext": "U2FsdGVkX1+eJ3SjJye5dbqIvOyiyYExY6hHHqlyXfeNtZ31JVy0gp3BIAmtLcLg0v7NSq9YarsTjWuDNL90REIQn3fNoigCEShdR+yoVo2gXmEJoefizbkc9Hk9lGXTsGHGkReGJxg7DiwU59TI/w=="
}

ECDH、RSA加密data内容示例

{
  "appid": 9,
  "ciphertext": "U2FsdGVkX1+eJ3SjJye5dbqIvOyiyYExY6hHHqlyXfeNtZ31JVy0gp3BIAmtLcLg0v7NSq9YarsTjWuDNL90REIQn3fNoigCEShdR+yoVo2gXmEJoefizbkc9Hk9lGXTsGHGkReGJxg7DiwU59TI/w==",
  "key": "客户端生成的公钥base64"
}
上一页
获取用户资产明细
下一页
获取应用信息
Built with