登入後使用 API Gateway 存取資源 - Amazon Cognito

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

登入後使用 API Gateway 存取資源

Amazon Cognito 使用者集區權杖的常見用途是授權對 API Gateway REST API 的請求。訪問令牌中的 OAuth 2.0 範圍可以授權方法和路徑,HTTP GET/app_assets如. ID 令牌可以作為 API 的通用身份驗證,並且可以將用戶屬性傳遞給後端服務。API Gateway 具有額外的自訂授權選項,例如 HTTP API 的 JWT 授權程式,以及可套用更精細邏輯的 Lambda 授權者。

下圖說明了一個應用程序,該應用程序正在訪問令牌中使用 OAuth 2.0 範圍獲得對 REST API 的訪問權限。

應用程式的流程圖,可透過 Amazon Cognito 使用者集區進行驗證,並授權透過 Amazon API 閘道存取 API 資源。

您的應用程序必須從經過身份驗證的會話中收集令牌,並將其作為承載令牌添加到請求中的Authorization標題中。配置您為 API,路徑和方法配置的授權者以評估令牌內容。只有當請求符合您為授權者設定的條件時,API Gateway 才會傳回資料。

API Gateway API 可以核准來自應用程式存取的一些潛在方式為:

  • 訪問令牌包含正確的 OAuth 2.0 範圍。適用於 REST API 的 Amazon Cognito 使用者集區授權者是一種常見的實作,具有較低的進入障礙。您也可以向此類授權者評估要求的主體、查詢字串參數和標頭。

  • ID 令牌有效且未過期。將 ID 權杖傳遞給 Amazon Cognito 授權者時,您可以對應用程式伺服器上的 ID 權杖內容執行其他驗證。

  • 存取或 ID 權杖中的群組、宣告、屬性或角色符合您在 Lambda 函數中定義的需求。Lambda 授權者會剖析要求標頭中的權杖,並對其進行授權決策進行評估。您可以在函數中建構自訂邏輯,或向 Amazon 驗證許可發出 API 請求。

您也可以使用來自使用者集區的權杖來授權對 AWS AppSync GraphQL API 的要求。