认证前准备
APP认证方式调用API,需要提前获取如下信息:
- 获取API的请求信息
在APIG实例控制台选择“API管理 > API列表”,单击API名称进入API详情,在“API运行”页签的API名称下方查看API的域名、请求路径和请求方法。
- API已发布到环境
在APIG实例控制台选择“API管理 > API列表”,单击API名称进入API详情,在“API运行”页签的“前端配置 > 前端定义”中查看已发布的环境。
- 获取API的认证信息
APP认证(签名认证)在对API请求进行加密签名时,需要用到API所授权凭据的Key和Secret。在APIG实例控制台选择“API管理 > 凭据管理”,进入凭据详情,获取Key和Secret。
- AppKey/Key:APP访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。
- AppSecret/Secret:与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。
- 发送API请求时,需要将当前时间置于请求消息头的X-Sdk-Date,将签名信息置于请求消息头的Authorization。
客户端须注意本地时间与时钟服务器的同步,避免请求消息头X-Sdk-Date的值出现较大误差。
API网关除了校验时间格式外,还会校验该时间值与网关收到请求的时间差,如果时间差大于15分钟,API网关将拒绝请求。