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

Cognito重置密码报错:Invalid attributes given, name is missing 原因排查

错误成因及修复方案

错误原因

你的AWS Cognito用户池配置了必填的用户属性(比如name),但在处理NEW_PASSWORD_REQUIRED认证挑战时,你只在ChallengeResponses中提供了USERNAME和NEW_PASSWORD,没有提交这些必填属性,因此触发了InvalidParameterException。

当用户处于密码重置状态(比如首次登录、管理员强制重置密码),如果用户池设置了必须填写的用户属性,Cognito会要求在完成密码重置的同时提交这些属性,否则会返回“缺少属性”的错误。

修复代码

修改RespondToAuthChallengeCommand的ChallengeResponses参数,添加用户池要求的必填属性,比如如果name是必填项,代码调整如下:

const command = new RespondToAuthChallengeCommand({
  ClientId: process.env.CLIENT_ID,
  ChallengeName: ChallengeNameType.NEW_PASSWORD_REQUIRED,
  ChallengeResponses: { 
    USERNAME: email, 
    NEW_PASSWORD: newPassword,
    name: "用户的实际姓名" // 替换为用户提供的name值,或从event参数中获取
  },
  Session: session,
});

注意:属性名必须和用户池配置的属性名称完全一致,比如如果用户池要求的是given_name(名)和family_name(姓),则需要分别提交这两个字段,而不是name。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 00:05:09