登录后使用 API Gateway 访问资源 - Amazon Cognito

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

登录后使用 API Gateway 访问资源

Amazon Cognito 用户池令牌的常见用途是授权向网关发API出的请求。REST API访问令牌中的 OAuth 2.0 作用域可以对方法和路径进行授权,比HTTP GET/app_assets。ID 令牌可以用作对的通用身份验证API,也可以将用户属性传递给后端服务。APIGateway 还有其他自定义授权选项,例如可以应用更JWT精细逻辑的 Lambda 授权者HTTPAPIs和 Lambda 授权者。

下图说明了访问令牌中具RESTAPI有 OAuth 2.0 范围的应用程序。

使用 Amazon Cognito 用户池进行身份验证并通过 Amazon Gateway 授权访问API资源的应用程序流程图。API

您的应用程序必须从经过身份验证的会话中收集令牌,并将其作为不记名令牌添加到请求的Authorization标头中。配置您为API、路径和方法配置的授权方,以评估令牌内容。API只有当请求符合您为授权者设置的条件时,Gateway 才会返回数据。

APIGateway API 可以批准来自应用程序的访问权限的一些可能方法是:

  • 访问令牌包含正确的 OAuth 2.0 范围。的 Amazon Cognito 用户池授权者RESTAPI是一种常见的实现,进入门槛较低。您还可以评估向此类授权方发出的请求的正文、查询字符串参数和标头。

  • ID 令牌有效且未过期。当您将身份令牌传递给 Amazon Cognito 授权机构时,您可以在应用程序服务器上对 ID 令牌内容进行额外验证。

  • 访问或 ID 令牌中的群组、声明、属性或角色符合您在 Lambda 函数中定义的要求。Lambda 授权方解析请求标头中的令牌并对其进行评估以做出授权决策。您可以在函数中构造自定义逻辑或向 Amazon 验证权限API提出请求。

您还可以使用来自用户池的令牌授权AWS AppSync 对 Grap API hQL 的请求。