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

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

登入後使用API閘道存取資源

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

下圖說明了在訪問令牌中獲得對RESTAPI具有 OAuth 2.0 範圍的訪問權限的應用程序。

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

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

APIGateway API 可以從應用程式核准存取的一些可能方式為:

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

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

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

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