您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [华为云计算技术有限公司]:API 网关:开发指南 - 发现报告

API 网关:开发指南

2026-05-07 - 华为云计算技术有限公司 朝新G
报告封面

开发指南 文档版本13发布日期2026-05-07 版权所有©华为云计算技术有限公司2026。保留一切权利。 非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 商标声明 和其他华为商标均为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意 您购买的产品、服务或特性等应受华为云计算技术有限公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为云计算技术有限公司对本文档内容不做任何明示或暗示的声明或保证。 由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。 目录 2.1认证前准备................................................................................................................................................................................. 22.2 APP认证工作原理.................................................................................................................................................................... 22.3 Java............................................................................................................................................................................................... 72.4 Go............................................................................................................................................................................................... 152.5 Python....................................................................................................................................................................................... 182.6 C#............................................................................................................................................................................................... 222.7 JavaScript................................................................................................................................................................................. 242.8 PHP............................................................................................................................................................................................ 312.9 C++............................................................................................................................................................................................. 352.10 C............................................................................................................................................................................................... 372.11 Android................................................................................................................................................................................... 402.12 curl........................................................................................................................................................................................... 43 4对后端服务进行签名................................................................................................................ 49 4.1签名前准备............................................................................................................................................................................... 494.2 Java............................................................................................................................................................................................ 494.3 Python....................................................................................................................................................................................... 564.4 C#............................................................................................................................................................................................... 62 使用场景 API网关主要涉及以下几个开发场景: ●API调用认证开发:API的认证方式为APP认证或IAM认证,则需要在业务系统侧进行调用认证的开发,为API请求添加认证信息。–使用APP认证(签名认证)调用API:API调用者通过API网关提供Key、Secret和SDK,对API请求进行签名认证。–使用IAM认证(Token认证)调用API:API调用者先获取云服务平台的认证Token,然后把认证Token携带到API请求中。–使用IAM认证(AK/SK认证)调用API:API调用者通过AK(Access KeyID)/SK(Secret Access Key)和API网关提供的SDK,对API请求进行签名处理。●后端服务签名校验开发:若API在API网关上绑定了签名密钥,则API网关向该API的后端服务发送请求时会携带相应的签名信息。该API的后端服务需要集成API网关提供的SDK,并对请求中的签名信息进行校验。 2 使用APP认证调用API 2.1认证前准备 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网关将拒绝请求。 2.2 APP认证工作原理 1.构造规范请求。 将待发送的请求内容按照与API网关(即API管理)后台约定的规则组装,确保客户端签名、API网关后台认证时使用的请求内容一致。 2.使用规范请求和其他信息创建待签字符串。3.使用AK/SK和待签字符串计算签名。4.将生成的签名信息作为请求消息头添加到HTTP请求中,或者作为查询字符串参数添加到HTTP请求中。5.API网关收到请求后,执行1~3,计算签名。6.将3中的生成的签名与5中生成的签名进行比较,如果签名匹配,则处理请求,否则将拒绝请求。 约束与限制 APP签名仅支持Body体12M及以下的请求签名。 步骤1:构造规范请求 使用APP方式进行签名与认证,首