# 认证鉴权

KIC使用JWT(RFC 7519) (opens new window) 进行接口认证鉴权,除了获取授权接口以外,所有接口在请求头内必须传递认证鉴权信息(Authorization)。Token的有效期一般为1小时。

# 依赖条件

认证授权是基于应用的,所以需要先注册并创建应用,每一个应用对应唯一的AppKey与AppSecret。

  • 注册功夫智云SaaS平台账号,并登陆控制台。
  • 创建应用并记录该应用的AppKey和AppSecret,用于获取授权Token。

注意

  • 请妥善保管AppSecret秘钥,不可以将AppSecret保存在客户端或传递给客户端。

  • 认证授权应当在服务端完成,如必须在客户端调用KIC接口,请将服务端获取到的Token传递给客户端使用。

  • Token是无状态的,多次调用获得的Token在过期时间内都是有效的。

# 认证流程

  1. 获取应用的AppKey和AppSecret。

  2. 调用获取授权接口,获得Token和有效期。

  3. 不要频繁获取Token,建议将Token进行缓存,直到接近过期时间或Token失效。

  4. 调用API时在Header中的Authorization字段传入当前有效的Token值。

  5. 完成请求调用。

  6. 如Token失效,重新获取Token。(建议在Token过期前重新获取。)

# 获取授权接口 API

POST /api/auth

  • 请求参数(JSON Body):
名称 类型 必选 说明
app_key String 应用的AppKey
app_secret String 应用的AppSecret
  • 响应参数(JSON Body):
名称 类型 必选 说明
code Integer 状态码
msg String 状态描述
data Object 响应数据
data.token String 鉴权token
data.expires_at Integer token过期时间(单位:秒。达到过期时间之后,此Token自动失效)
  • 成功示例:

HTTP Status 200

{
  "code": 0,
  "msg": "ok",
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBfa2V5IjoicWFVN1ZmMzZaemlpIiwiZXhwIjoxNjI3OTExNDIzLCJpc3MiOiJLSUMifQ.eb6V-Ir-qvQs2v0kNOIFZwUn_qgmEG1vyKS29LwLXog",
    "expires_at": 1627911423
  }
}
1
2
3
4
5
6
7
8
  • 失败示例:

HTTP Status 401

{
  "code": 20004,
  "msg": "授权失败",
  "data": null
}
1
2
3
4
5

查看全部状态码