【问题标题】:How to customize cognito user pool authorizer's Unauthorized 401 JSON response in AWS API Gateway如何在 AWS API Gateway 中自定义 cognito 用户池授权方的 Unauthorized 401 JSON 响应
【发布时间】:2020-05-28 23:40:04
【问题描述】:

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

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

{
    "message": "Unauthorized"
}

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

带有 401 响应

【问题讨论】:

    标签: amazon-web-services aws-lambda aws-api-gateway amazon-cognito amazon-api-gateway


    【解决方案1】:

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

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

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

    【讨论】:

    • 非常感谢。我是 AWS 的新手,这对我很有帮助。
    猜你喜欢
    • 2017-06-26
    • 2018-03-02
    • 2018-11-19
    • 1970-01-01
    • 2019-12-22
    • 2018-01-24
    • 2017-08-23
    • 2020-12-23
    • 2016-11-30
    相关资源
    最近更新 更多