0

我在 AWS API Gateway 中添加了Cognito 用户池作为授权方。然后我用 id_token 测试了这个授权器,它工作正常。我使用 lambda 函数通过 Cognito 用户池进行用户注册/登录。

现在我的问题是如何在 id_token 过期或 cognito 授权方无法对当前用户进行身份验证时自定义错误响应。目前我只得到

{
    "message": "Unauthorized"
}

或者

{
    "message": "The incoming token has expired"
}

401响应

4

1 回答 1

1

您可以使用 API Gateway 中的网关响应来修改返回给客户端的 HTTP 状态代码和响应。

默认情况下,对于您描述的场景,响应为“未授权”,状态码为 401。要更改此 -

  1. 转到您的 API 左侧栏中的“网关响应”。
  2. 选择“未经授权”,然后单击右上角的“编辑”。
  3. 单击“响应模板”下的“应用程序/json:”。
  4. 修改{"message":"Your custom message"}“响应正文模板”部分中的消息(见下面的屏幕截图)。
  5. 部署 API 并等待一分钟让更改传播。

在此处输入图像描述

于 2020-02-13T16:24:10.580 回答