## 设备认证

### 功能说明

获取或刷新请求token

### 请求uri
/xwopenapi/authdevice

### 请求类型
websocket

### 请求参数
接口请求内容需要按照[公共参数](common_args)中的[websocket请求格式](https://xwcloudapi.weixin.qq.com/schemas/2021-09/network.json#properties/websocket_req)传入，其中`content`字段为以下结构json序列化base64编码结果



| 字段    | 类型   | 必填 | 描述                               |
| ------- | ------ | ---- | ---------------------------------- |
| secret  | string | 否   | 个人开发者使用secret认证的设备必填 |
| app_uin | int    | 否   | 产品ID，厂商设备必填               |
| sn      | string | 否   | 设备序列化，厂商设备必填           |
| license | string | 否   | 设备证书，厂商设备必填             |
| pid     | int    | 否   | 兼容SDK设备，一般不要填写          |

### 请求示例
### 个人开发者设备：
```
{
  "secret": "xxxx"
 }
```
### 厂商设备：
```
{
	"app_uin":12,
	"sn": "ABC1234567890",
	"license":"xxx"
}
```
### 返回参数
接口返回参数遵循[公共参数](common_args)中的[websocket响应格式](https://xwcloudapi.weixin.qq.com/schemas/2021-09/network.json#properties/websocket_rsp)
接口返回的`content.response`内容base64解码后为以下结构：

| 字段        | 类型   | 必填 | 描述                                          |
| ----------- | ------ | ---- | --------------------------------------------- |
| token       | string | 是   | 其他接口的票据，有效期2小时，过期后需重新获取 |
| expire_time | int    | 是   | 过期时间戳，单位：秒                          |
### 返回结果示例：
```
{
	"code": 0,
	"msg": "success",
	"token"："",  // 后续接口的请求令牌
	"expire_time"： 1645090971 // 过期时间，秒级时间戳
}
```


### 错误说明

如果遇到空的结果或者license err错误，可以按照下面步骤检查：

1. 携带的参数名称、格式、数据类型是否都正常。比如是否把int填成了string。
2. license需要使用文档中的工具脚本示例的算法生成，和小微官网的sdk对接方式并不通用。
3. 内测阶段暂时没提供官网配置入口，是否提供appuin和pubkey给小微进行了预注册。
