跳至内容

如何创建 Amazon Cognito 和 API Gateway 集成并进行故障排除?

2 分钟阅读
0

我想创建 Amazon Cognito 和 Amazon API Gateway 集成并进行故障排除。

解决方法

要使用 API Gateway REST API 或 API Gateway HTTP API 创建授权者并进行故障排除,请完成以下步骤:

使用 API Gateway REST API 的授权者

创建 Amazon Cognito 授权者

为 REST API 创建授权者,请参阅如何在 API Gateway REST API 上将 Amazon Cognito 用户池设置为授权者?

对 Amazon Cognito 授权者进行故障排除

Amazon Cognito 中的授权者使用身份令牌或访问令牌进行授权。如果您收到 4xx 错误,则表明 API Gateway 控制台中的 OAuth Scopes(OAuth 范围)选项配置不正确。

要使用身份令牌进行授权,请将 OAuth Scopes(OAuth 范围)选项留空。要使用访问令牌进行授权,请配置 OAuth Scopes(OAuth 范围)。有关详细信息,请参阅将 REST API 与 Amazon Cognito 用户池集成

要对 401 未经授权错误进行故障排除,请参阅设置 Amazon Cognito 用户池后如何对来自 API Gateway REST API 端点的“401 未经授权”错误进程故障排除?

要对 HTTP 500 内部错误进行故障排除,请检查用户池的预令牌生成 AWS Lambda 触发器的配置。如果 Lambda 触发器无法运行,则用户池端点无法返回身份令牌,并且会出现 HTTP 500 错误。有关更多信息,请参阅使用 Lambda 触发器自定义用户池工作流程

创建 Lambda 授权者

要为 REST API 创建 API Gateway Lambda 授权者,请参阅创建 API Gateway Lambda 授权者的步骤

对 Lambda 授权者进行故障排除

要对 401 未经授权错误进行故障排除,请参阅创建 Lambda 授权者后为什么会出现 API Gateway 401 未经授权错误?

使用 API Gateway HTTP API 的授权者

创建 JWT 授权者

要创建 JSON Web 令牌 (JWT) 授权者,请配置发放 JWT 的身份提供程序。将 JWT 授权者附加到路由后,客户端必须在 API 请求中包含来自身份提供程序的 JWT。API Gateway 会验证 JWT 的声明,然后根据验证结果允许或拒绝请求。有关更多信息,请参阅使用 JWT 授权者控制对 HTTP API 的访问权限

对 JWT 授权者进行故障排除

要对 JWT 授权者错误故障排除,请参阅 对 HTTP API JWT 授权者问题进行故障排除如何使用 JWT 授权者保护 API Gateway HTTP 端点的安全。要验证 JWT,请参阅验证 JSON Web 令牌

创建 Lambda 授权者

要为 HTTP API 创建 API Gateway Lambda 授权者,请参阅创建 Lambda 授权者

对 Lambda 授权者进行故障排除

要解决 500 内部服务器错误和其他相关错误,请参阅对 Lambda 授权者进行故障排除