更新时间:2024-04-26 GMT+08:00
请求签名流程
第三方应用对华为云API的访问需经过签名认证。
签名前的准备
- 下载API网关签名工具。
请单击此处下载后,解压下载的压缩包。
- 创建java工程,将解压出来的jar引用到依赖路径中。
签名过程
- 创建用于签名的请求com.cloud.sdk.DefaultRequest(JAVA)。
- 设置DefaultRequest的目标API URL、HTTPS方法、内容等信息。
- 对DefaultRequest进行签名:
- 调用SignerFactory.getSigner(String serviceName, String regionName)获取一个签名工具实现的实例。
- 调用Signer.sign(Request<?> request, Credentials credentials)对步骤1创建的请求进行签名。
//选用签名算法,对请求进行签名 Signer signer = SignerFactory.getSigner(serviceName, region); //对请求进行签名,request会发生改变 signer.sign(request, new BasicCredentials(this.ak, this.sk));
- 把上步中签名产生的request转换为一个适合发送的请求,并将签名后request中的header信息放入新的request中。
- 以Apache HttpClient为例,需要把DefaultRequest转换为HttpRequestBase,把签名后的DefaultRequest的header信息放入HttpRequestBase中。
父主题: 获取AK/SK认证