React Cognito 用户池 - 客户端试图写入未经授权的属性
React Cognito User Pool - A client attempted to write unauthorized attribute
我正在用头撞墙试图解决这个问题。我的反应应用程序中有以下代码。我需要为用户添加一些方法来添加 unit/apt 号码,所以我添加了一个自定义属性。
一切正常,但是当我包含 apt_number: this.state.unitNumber,
时,出现错误 {code: "NotAuthorizedException", name: "NotAuthorizedException", message: "A client attempted to write unauthorized attribute"}
。
我确实进入了我的设置并使属性可写(我尝试使用 Unit
和 apt number
的属性)
这是我的代码:
const receivedNewUser = await Auth.signUp({
username: this.state.email,
password: this.state.password,
attributes: {
phone_number: this.state.phone,
address: this.state.streetAddress,
birthdate: this.state.dob,
locale: this.state.zipCode,
given_name: this.state.fname,
family_name: this.state.lname,
apt_number: this.state.unitNumber,
},
});
这是怎么回事?
您需要添加 custom:
作为属性名称的前缀。
您的代码应为:
const receivedNewUser = await Auth.signUp({
username: this.state.email,
password: this.state.password,
attributes: {
phone_number: this.state.phone,
address: this.state.streetAddress,
birthdate: this.state.dob,
locale: this.state.zipCode,
given_name: this.state.fname,
family_name: this.state.lname,
'custom:apt_number': this.state.unitNumber,
},
});
我正在用头撞墙试图解决这个问题。我的反应应用程序中有以下代码。我需要为用户添加一些方法来添加 unit/apt 号码,所以我添加了一个自定义属性。
一切正常,但是当我包含 apt_number: this.state.unitNumber,
时,出现错误 {code: "NotAuthorizedException", name: "NotAuthorizedException", message: "A client attempted to write unauthorized attribute"}
。
我确实进入了我的设置并使属性可写(我尝试使用 Unit
和 apt number
的属性)
这是我的代码:
const receivedNewUser = await Auth.signUp({
username: this.state.email,
password: this.state.password,
attributes: {
phone_number: this.state.phone,
address: this.state.streetAddress,
birthdate: this.state.dob,
locale: this.state.zipCode,
given_name: this.state.fname,
family_name: this.state.lname,
apt_number: this.state.unitNumber,
},
});
这是怎么回事?
您需要添加 custom:
作为属性名称的前缀。
您的代码应为:
const receivedNewUser = await Auth.signUp({
username: this.state.email,
password: this.state.password,
attributes: {
phone_number: this.state.phone,
address: this.state.streetAddress,
birthdate: this.state.dob,
locale: this.state.zipCode,
given_name: this.state.fname,
family_name: this.state.lname,
'custom:apt_number': this.state.unitNumber,
},
});