我正在尝试使用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))
答案 0 :(得分:1)
创建用户池时,您选择了必需的属性,您的个人池中是否勾选了电子邮件?
要登录,您需要在AWS中激活用户名登录!直接在您的用户池中。
我认为您忘记了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
}
})