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

AWS Cognito默认需邮箱但注册表单无此字段的解决方法咨询

解决AWS Amplify注册界面缺失邮箱字段且报错的问题

方法1:重新配置Auth资源(推荐)

  • 执行命令修改已有的Auth配置:
    amplify update auth
    
  • 在交互选项中选择Manual configuration(手动配置),进入用户池属性设置环节:
    • 勾选email作为必填属性,同时设置email为允许的登录标识之一
  • 配置完成后推送更新:
    amplify push --y
    

方法2:自定义前端注册UI组件

若不想改动后端配置,可手动补全前端注册表单的邮箱字段:

  • 找到项目中使用Amplify认证组件的代码,自定义SignUp表单:
    import { SignUp } from '@aws-amplify/ui-react';
    
    function CustomSignUp() {
      return (
        <SignUp
          formFields={[
            { type: 'username', label: '用户名', required: true },
            { type: 'email', label: '邮箱', required: true },
            { type: 'password', label: '密码', required: true },
            { type: 'confirm_password', label: '确认密码', required: true },
          ]}
        />
      );
    }
    
  • 将原有默认注册组件替换为这个自定义组件,或在withAuthenticator中指定使用该组件。

问题根源

默认配置下,Amplify Auth的用户池可能强制要求email属性,但前端默认UI未包含该字段,导致提交时不符合schema校验规则。重新配置后端可从根源对齐规则,自定义UI则是补全前端字段适配后端要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 09:24:55