使用 API Gateway Lambda 授權器呼叫 API - Amazon API Gateway

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 API Gateway Lambda 授權器呼叫 API

設定 Lambda 授權方 (先前稱作自訂授權方) 並部署 API 之後,您應該測試啟用 Lambda 授權方的 API。為此,您需要一個 REST 用戶端,例如 cURL 或 Postman。在下列範例中,我們使用 Postman。

注意

呼叫啟用授權者的方法時, CloudWatch 如果TOKEN授權者所需的權杖未設定、為 null 或由指定的 Token 驗證運算式無效,則 API Gateway 不會將呼叫記錄到。同樣地, CloudWatch 如果REQUEST授權者的任何必要身分識別來源未設定、為空值或空白,API Gateway 也不會將呼叫記錄到。

以下示範如何使用 Postman 來呼叫或測試具有 Lambda TOKEN 授權方的 API。如果您明確指定必要的路徑、標頭或查詢字串參數,則可以套用此方法呼叫具有 Lambda REQUEST 授權方的 API。

呼叫具有自訂 TOKEN 授權方的 API
  1. 開啟 Postman,選擇 GET 方法,然後將 API 的 Invoke URL (呼叫 URL) 貼到相鄰的 URL 欄位中。

    新增 Lambda 授權字符標頭,並將值設定為 allow。選擇 Send (傳送)

    使用 Lambda 授權 Allow (允許) 字符呼叫 API

    回應顯示 API Gateway Lambda 授權方傳回 200 OK (200 OK) 回應,並成功授權呼叫存取與方法整合的 HTTP 端點 (http://httpbin.org/get)。

  2. 同樣在 Postman 中,將 Lambda 授權字符標頭值變更為 deny。選擇 Send (傳送)

    使用 Lambda 授權 Deny (拒絕) 字符呼叫 API

    回應顯示 API Gateway Lambda 授權方傳回 403 Forbidden (403 禁止) 回應,而不授權呼叫存取 HTTP 端點。

  3. 在 Postman 中,將 Lambda 授權字符標頭值變更為 unauthorized,然後選擇 Send (傳送)

    使用 Lambda 授權 Unauthorized (未經授權) 字符呼叫 API

    回應顯示 API Gateway 傳回 401 Unauthorized (401 未經授權) 回應,而不授權呼叫存取 HTTP 端點。

  4. 現在,將 Lambda 授權字符標頭值變更為 fail。選擇 Send (傳送)

    使用 Lambda 授權 Fail (失敗) 字符呼叫 API

    回應顯示 API Gateway 傳回 500 Internal Server Error (500 內部伺服器錯誤) 回應,而不授權呼叫存取 HTTP 端點。