概述

完成API的创建和发布之后,本章节重点会从客户端(如其他业务系统的代码、手机APP或HTML页面中等)角度来介绍如何调用您发布在API网关上的API,因此重点会涉及到如下部分的内容: - 了解API的认证方式、适用场景并如何实现客户端代码 - 了解客户端处在不同的网络环境下如何调用API - 了解做为API网关管理员,如何对API授权进行管理和分配

1. API认证方式

  • 使用无认证方式调用API

客户端可以直接调用API,安全性很低,适合临时测试的场景,不建议使用。

  • 使用AppCode调用API(简单身份认证)

AppCode认证方式,调用简单,但安全性较低,适合于内网系统之间的API调用。API网关通过检查客户端调用API时的Request Header或Query中,是否包含有满足要求的AppCode来进行认证。具体操作过程请参考使用简单认证(AppCode)方式调用API

  • 使用摘要签名认证方式调用API

相比简单身份认证,摘要签名方式安全性较高,适合于较多场景。客户端在调用API时,需要先根据事前分配好的APP Key和APP Secret对请求内容计算签名,在发起HTTP Request时,需将APP Key和签名信息传输给API网关进行验证。

- API网关提供的SDK内置了签名实现,您可以直接用API网关控制台为您提供的多语言SDK来调用API,具体操作请参考使用SDK调用API

- 如果您需要自己在客户端实现签名计算过程,可以参考客户端签名计算过程说明文档

  • 使用JWT认证方式调用API

还可通过配置JWT插件的方式,实现JWT认证方式,安全强度最高,适合在Javascript、Web前端等不安全的客户端场景。详情可参考JWT认证插件

2. 客户端在不同的网络环境下调用API

客户端可以通过互联网或VPC内网方式调用API。互联网可直接参考章节1的认证方式来调用API。

VPC内网目前支持三种情况:

3. 授权管理

若创建API认证方式为“阿里云APP”,这里需要将APP和API的授权关系建立好,才能够正常访问。 调用前您可以创建APP授权给API或是根据APPID授权他人创建的APP。作为您调用API的身份,每个APP有一对AppKey和AppSecret密钥对,AppKey需要在请求时作为参数在Header传入,AppSecret需要用于计算请求签名。

详情可参考API授权