nps/docs/api.md

46 lines
1.3 KiB
Markdown
Raw Normal View History

2019-12-13 00:57:00 +00:00
# web api
需要开启请先去掉`nps.conf`中`auth_key`的注释并配置一个合适的密钥
2019-12-13 00:57:00 +00:00
## webAPI验证说明
2019-12-12 16:00:12 +00:00
- 采用auth_key的验证方式
- 在提交的每个请求后面附带两个参数,`auth_key` 和`timestamp`
```
auth_key的生成方式为md5(配置文件中的auth_key+当前时间戳)
```
```
timestamp为当前时间戳
```
```
curl --request POST \
--url http://127.0.0.1:8080/client/list \
--data 'auth_key=2a0000d9229e7dbcf79dd0f5e04bb084&timestamp=1553045344&start=0&limit=10'
```
**注意:** 为保证安全时间戳的有效范围为20秒内所以每次提交请求必须重新生成。
2019-12-13 00:57:00 +00:00
## 获取服务端时间
2019-12-12 16:00:12 +00:00
由于服务端与api请求的客户端时间差异不能太大所以提供了一个可以获取服务端时间的接口
```
POST /auth/gettime
```
2019-12-13 00:57:00 +00:00
## 获取服务端authKey
2019-12-12 16:00:12 +00:00
如果想获取authKey服务端提供获取authKey的接口
```
POST /auth/getauthkey
```
将返回加密后的authKey采用aes cbc加密请使用与服务端配置文件中cryptKey相同的密钥进行解密
**注意:** nps配置文件中`auth_crypt_key`需为16位
- 解密密钥长度128
- 偏移量与密钥相同
- 补码方式pkcs5padding
- 解密串编码方式 十六进制
2019-12-13 00:57:00 +00:00
## 详细文档
2020-02-08 13:25:48 +00:00
- **[详见](webapi.md)** (感谢@avengexyz)