错误注册,电子邮件:该属性为必填

时间:2019-09-19 15:52:51

标签: javascript amazon-web-services react-native amazon-cognito 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))

1 个答案:

答案 0 :(得分:1)

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

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

enter image description here

我认为您忘记了s的属性:

Auth.signUp({
    username: this.state.username,
    password:this.state.password,
    attributes: {
        email: this.state.email
    }
})

这是我的工作代码:

Auth.signUp({
  'username': mongoUser.preferred_username,
  'password': registrationUser.password,
  'attributes': {
    'email': mongoUser.email
  }
})