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

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

登入後使用 API Gateway 存取資源

Amazon Cognito 使用者集區字符的常見用途是授權對 API Gateway REST API 的請求。存取權杖中的 OAuth 2.0 範圍可以授權方法和路徑,例如 HTTP GET/app_assets。ID 字符可以做為 API 的一般身分驗證,也可以將使用者屬性傳遞至後端服務。API Gateway 有其他自訂授權選項,例如適用於 HTTP APIs JWT 授權方和可套用更精細邏輯的 Lambda 授權方

下圖說明使用存取字符中的 OAuth 2.0 範圍來存取 REST API 的應用程式。

使用 Amazon Cognito 使用者集區進行身分驗證並授權使用 Amazon API Gateway 存取 API 資源的應用程式流程圖。

您的應用程式必須從已驗證的工作階段收集字符,並將其做為承載字符新增至請求中的 Authorization標頭。設定您為 API、路徑和方法設定的授權方,以評估權杖內容。API Gateway 只有在請求符合您為授權方設定的條件時,才會傳回資料。

API Gateway API 可以核准從應用程式存取的一些潛在方式如下:

  • 存取權杖有效、未過期,且包含正確的 OAuth 2.0 範圍。REST API 的 Amazon Cognito 使用者集區授權方是具有低進入障礙的常見實作。您也可以評估對此類授權方請求的內文、查詢字串參數和標頭。

  • ID 字符有效且尚未過期。當您將 ID 字符傳遞給 Amazon Cognito 授權方時,您可以在應用程式伺服器上對 ID 字符內容執行額外的驗證。

  • 存取或 ID 字符中的群組、宣告、屬性或角色符合您在 Lambda 函數中定義的需求。Lambda 授權方會剖析請求標頭中的權杖,並評估權杖是否有授權決策。您可以在函數中建構自訂邏輯,或向 Amazon Verified Permissions 提出 API 請求。

您也可以使用來自使用者集區的字符授權 AWS AppSync GraphQL API 的請求。