注册时出错,电子邮件:该属性为必填项

tob*_*per 6 javascript amazon-web-services amazon-cognito react-native aws-amplify

我正在尝试使用 AWS 设置身份验证。输入用户名、密码、电子邮件并单击“注册”后,我收到一条错误消息,显示“注册错误,属性不符合架构,电子邮件:该属性是必需的”

在 AWS Cognito 中,我在用户池中选择的选项是 1.) 用户名​​-用户可以使用用户名和可选的多个替代项来注册和登录。2.) 在所需的标准属性下,我选择了电子邮件。

我的代码片段:


    state = {
        username:'',
        email:'',
        password:'',
        confirmationCode:''

    }

    onChangeText(key, value) {
        this.setState({
           [key]: value
        })
    }

    signUp() {
        Auth.signUp({
            username: this.state.username,
            password:this.state.password,
            attribute: {
                email: this.state.email
            }
        })
        .then(() => console.log('successful sign up'))
        .catch(err => console.log('error signing up!:', err))
Run Code Online (Sandbox Code Playgroud)

Jea*_*ste 8

当您创建用户池时,您选择了所需的属性,您的个人池中是否勾选了电子邮件?

如需登录,您需要在 AWS 中激活用户名登录!直接来自您的用户池。

在此输入图像描述

我想你忘记了一个 s 属性:

Auth.signUp({
    username: this.state.username,
    password:this.state.password,
    attributes: {
        email: this.state.email
    }
})
Run Code Online (Sandbox Code Playgroud)

这是我的工作代码:

Auth.signUp({
  'username': mongoUser.preferred_username,
  'password': registrationUser.password,
  'attributes': {
    'email': mongoUser.email
  }
})
Run Code Online (Sandbox Code Playgroud)