所有接口调用都需要进行签名校验,目前有两种级别的签名:

  • 应用级别,只能访问某个应用的 API

在使用之前,首先需要设置公钥

访问组织「设置」页面,可以自己生成 RSA256 密钥对,或者使用平台的自动生成功能。

点击自动生成的链接,会生成 文件,请将其中 xxx.pub 的内容复制到这里,然后保存。

key.png

在发送 API 的请求中,需要有个 Authorization 的头,签名生成算法基于 JWT,参考以下示例:

JavaScript 示例,使用 jsonwebtoken 进行签名。

JWT 支持绝大多数语言,具体可以在查找相关语言的库,比如 java 可以用 java-jwt,使用其中的 RSA256 算法。

应用级别公钥在应用的「应用设置」页面,同样也提供了自动生成功能。

应用级别签名

签名算法使用 RS256,密钥是刚才下载的密钥,签名内容是 "companyKey": "xxx", "appKey": "yyy",其中 是组织的短名字,看前面的介绍,而 yyy 是应用短名字,获取方法是在应用设置页:

在发送 API 的请求中,需要有个 Authorization 的头,签名生成算法基于 JWT,参考以下示例:

JavaScript 示例,使用 jsonwebtoken 进行签名。

JWT 支持绝大多数语言,具体可以在查找相关语言的库,比如 java 可以用 java-jwt,使用其中的 RSA256 算法。

以 axios 为例