You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cognito邮箱OTP自定义认证流:CreateAuthChallenge报InvalidLambdaResponseException

问题原因与解决方案

核心问题

InvalidLambdaResponseException错误的直接原因是CreateAuthChallenge Lambda返回的challengeMetadata字段格式不符合Cognito要求:

  • Cognito规定该字段必须是字符串类型
  • 你的日志显示该字段是一个JSON对象{"CODE": "CODE-6217"},这会导致Cognito无法解析响应

修正方法

修改CreateAuthLambda的响应部分,将challengeMetadata改为字符串格式,示例如下:

"response": {
    "publicChallengeParameters": {
        "message": "请输入发送到你邮箱的OTP验证码"
    },
    "privateChallengeParameters": {
        "OTP": "6217"
    },
    "challengeMetadata": "CODE-6217"
}

额外检查项

  • 确保publicChallengeParameters包含前端需要展示的公开提示信息(比如上述示例中的提示文本),这不是强制要求,但能提升用户体验
  • 确认Lambda函数的返回值是严格的JSON格式,没有语法错误
  • 检查Lambda的执行权限是否包含发送邮件(如果是你自己实现OTP发送逻辑)的相关权限

内容的提问来源于stack exchange,提问作者HyperioN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 22:51:01