完成API的建立和發布之後,本章節重點會從用戶端(如其他業務系統的代碼、手機APP或HTML頁面中等)角度來介紹如何調用您發布在API Gateway上的API,因此重點會涉及到如下部分的內容: - 瞭解API的認證方式、適用情境並如何?用戶端代碼 - 瞭解用戶端處在不同的網路環境下如何調用API - 瞭解做為API Gateway管理員,如何對API授權進行管理和分配
1. API認證方式
使用無認證方式調用API
用戶端可以直接調用API,安全性很低,適合臨時測試的情境,不建議使用。
使用AppCode調用API(簡單身份認證)
AppCode認證方式,調用簡單,但安全性較低,適合於內網系統之間的API調用。API Gateway通過檢查用戶端調用API時的Request Header或Query中,是否包含有滿足要求的AppCode來進行認證。具體操作過程請參考使用簡單認證(AppCode)方式調用API
使用摘要簽名認證方式調用API
相比簡單身份認證,摘要簽名方式安全性較高,適合於較多情境。用戶端在調用API時,需要先根據事前分配好的APP Key和APP Secret對請求內容計算簽名,在發起HTTP Request時,需將APP Key和簽名資訊傳輸給API Gateway進行驗證。
- API Gateway提供的SDK內建了簽名實現,您可以直接用API Gateway控制台為您提供的多語言SDK來調用API,具體操作請參考使用SDK調用API
- 如果您需要自己在用戶端實現簽名計算過程,可以參考用戶端簽名計算過程說明文檔
使用JWT認證方式調用API
還可通過配置JWT外掛程式的方式,實現JWT認證方式,安全強度最高,適合在Javascript、Web前端等不安全的用戶端情境。詳情可參考JWT認證外掛程式
2. 用戶端在不同的網路環境下調用API
用戶端可以通過互連網或VPC內網方式調用API。互連網可直接參考章節1的認證方式來調用API。
VPC內網目前支援三種情況:
VPC內網訪問API Gateway,配置請參考VPC內網訪問API Gateway 。
Function Compute內網訪問API Gateway,配置請參考Function Compute內網訪問API Gateway 。
同Region的API自調用預設走內網,詳情請參考多級API Gateway。
3. 授權管理
若建立API認證方式為“阿里雲APP”,這裡需要將APP和API的授權關係建立好,才能夠正常訪問。 調用前您可以建立APP授權給API或是根據APPID授權他人建立的APP。作為您調用API的身份,每個APP有一對AppKey和AppSecret金鑰組,AppKey需要在請求時作為參數在Header傳入,AppSecret需要用於計算請求籤名。
詳情可參考授權管理。