本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
登录后使用 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 范围的应用程序。
您的应用程序必须从经过身份验证的会话中收集令牌,并将其作为不记名令牌添加到请求的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 的请求。