API_网关开发指南_69页_1mb
报告摘要
API 网关开发指南总结
核心内容
本文档主要介绍如何使用 API 网关进行 API 调用认证,包括 APP 认证和 IAM 认证两种方式。其中,APP 认证通过签名机制实现,而 IAM 认证则分为 Token 认证和 AK/SK 认证。此外,文档还提供了针对不同编程语言(Java、Go、Python、C# 等)的开发示例,帮助开发者实现 API 的安全调用。
主要观点
- API 网关支持多种认证方式,开发者需根据实际业务需求选择合适的认证方法。
- APP 认证需要使用 Key 和 Secret 进行签名,确保请求的合法性和完整性。
- IAM 认证分为 Token 认证和 AK/SK 认证,其中 Token 认证需要先获取认证 Token,AK/SK 认证则需要使用访问密钥对请求进行签名。
- 后端服务需要集成 API 网关提供的 SDK,并对请求中的签名信息进行校验,以确保安全性。
- 不同语言的 SDK 提供了相应的示例代码,便于开发者快速集成和调用 API。
关键信息
1. 使用场景
- API调用认证开发:需要在业务系统侧进行认证信息的添加。
- APP认证调用API:通过 Key、Secret 和 SDK 对请求进行签名认证。
- IAM认证调用API:
- Token认证:获取 Token 并将其作为请求头携带。
- AK/SK认证:通过 AK 和 SK 进行签名处理。
- 后端服务签名校验开发:若 API 绑定了签名密钥,API 网关会在请求中携带签名信息,后端服务需进行校验。
2. APP 认证流程
2.1 认证前准备
- 获取 API 的请求信息(域名、请求路径、请求方法)。
- 获取 API 的认证信息(Key 和 Secret)。
- 确保 API 已发布到指定环境。
2.2 认证工作原理
- 构造规范请求:按照 API 网关的规则组装请求内容。
- 创建待签字符串:结合签名算法、请求时间戳和规范请求进行计算。
- 计算签名:使用 Key 和 Secret 对待签字符串进行 HMAC-SHA256 哈希运算。
- 添加签名信息到请求头:将签名结果添加到 Authorization 请求头中。
2.3 签名约束
- APP 签名仅支持 Body 体 12M 及以下的请求。
- X-Sdk-Date 请求头需为 UTC 时间格式,且时间差不得超过 15 分钟。
3. 不同语言的开发示例
3.1 Java
- 前提条件:安装 IDEA、JDK8 或以上。
- SDK 获取:从 API 网关控制台下载 Java SDK,解压后包含核心类和示例代码。
- 配置 Maven:在
pom.xml文件中添加依赖,并配置settings.xml文件以使用华为云 SDK 仓库。 - 示例代码:
- 导入 SDK 包。
- 设置 Key 和 Secret。
- 构造请求并进行签名。
- 发送请求并处理响应。
3.2 Go
- 前提条件:安装 Go 1.14 或以上版本和 IDEA。
- SDK 获取:下载 Go SDK,解压后包含 SDK 代码和示例文件。
- 示例代码:
- 导入 SDK 包。
- 设置 Key 和 Secret。
- 构造请求并添加签名头。
- 发送请求并处理响应。
3.3 Python
- 前提条件:安装 Python 2.7.9 或 3.X 版本和 pip。
- SDK 获取:下载 Python SDK,解压后包含 SDK 代码和示例文件。
- 示例代码:
- 导入 SDK 模块。
- 设置 Key 和 Secret。
- 构造请求并进行签名。
- 发送请求并处理响应。
3.4 C#
- 前提条件:安装 Visual Studio 2019 version 16.8.4 或以上版本。
- SDK 获取:从 API 网关控制台下载 C# SDK,并打开对应的工程文件。
- 示例代码:
- 设置 Key 和 Secret。
- 构造请求并进行签名。
- 发送请求并处理响应。
重要注意事项
- 时间同步:客户端需确保本地时间与 API 网关时钟同步,避免因时间偏差导致认证失败。
- 安全性:建议将 AK 和 SK 存储在配置文件或环境变量中,避免直接写入代码。
- SDK 集成:所有语言的示例代码均依赖 API 网关提供的 SDK,开发者需正确配置依赖项和环境变量。
- 签名校验:后端服务需集成 SDK 并对请求中的签名信息进行校验,确保请求的合法性。
总结
本文档详细介绍了 API 网关的认证机制,包括 APP 认证和 IAM 认证。对于每种认证方式,文档提供了清晰的步骤说明和不同语言的开发示例,帮助开发者实现 API 的安全调用。开发者应根据实际需求选择合适的认证方式,并遵循文档中的配置要求和注意事项,以确保 API 调用的安全性和稳定性。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载