完成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内网目前支持三种情况:
VPC内网访问API网关,配置请参考VPC内网访问API网关 。
函数计算内网访问API网关,配置请参考函数计算内网访问API网关 。
同Region的API自调用默认走内网,详情请参考API网关自调用说明。
3. 授权管理
若创建API认证方式为“阿里云APP”,这里需要将APP和API的授权关系建立好,才能够正常访问。 调用前您可以创建APP授权给API或是根据APPID授权他人创建的APP。作为您调用API的身份,每个APP有一对AppKey和AppSecret密钥对,AppKey需要在请求时作为参数在Header传入,AppSecret需要用于计算请求签名。
详情可参考API授权。