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

React-TypeScript中使用AWS Amplify时,Auth.forgotPasswordSubmit()为何返回错误?

问题:密码修改成功但抛出InvalidLambdaResponseException错误

在React-TypeScript项目中调用AWS Amplify的Auth.forgotPasswordSubmit接口重置密码,代码如下:

await Auth.forgotPasswordSubmit(
    data.username as string,
    data.code as string,
    data.password as string
);

密码已成功更新,但系统仍抛出错误:

InvalidLambdaResponseException: Invalid lambda function output : Invalid JSON
at http://127.0.0.1:5173/node_modules/.vite/deps/aws-amplify.js?v=05cc6dda:50694:19

排查与解决步骤

  • 检查Cognito关联的Lambda触发器:错误根源是Cognito调用的Lambda函数返回了非法JSON响应,重点排查和密码重置流程相关的触发器(如Post Authentication、Post Confirmation、Pre Token Generation)对应的Lambda函数。
  • 验证Lambda返回格式:确保Lambda返回严格符合Cognito要求的JSON结构,示例如下:
    exports.handler = async (event) => {
        // 业务处理逻辑
        return {
            ...event,
            response: {
                // 按需添加响应字段,无额外内容可保留空对象
            }
        };
    };
    
    注意:不能返回null、未序列化的对象,也不能存在JSON语法错误(如多余逗号、引号不闭合)。
  • 查看Lambda执行日志:在AWS控制台进入对应Lambda函数的CloudWatch日志,检查是否有执行报错、输出异常,比如console.log的内容破坏了JSON结构,或函数抛出未捕获错误导致返回格式异常。
  • 确认触发器配置:检查Cognito用户池的触发器设置,确保关联的Lambda函数状态正常,未配置错误的版本或别名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 07:01:09