我正在使用适用于 AWS Cognito 的 JavaScript 开发工具包,有几个自定义属性我似乎无法保存,也看不出原因。
问题属性是可变字符串字段,如下所示:
custom: role
custom: recruitingrole
custom: title
同一请求中的其他自定义字段似乎更新正常。具体来说,这些似乎有效:
custom:division
custom:linkedin
custom:location
custom:bio
当我通过 SDK 提交时,返回:
{”__type”:“NotAuthorizedException”,“message”:“客户端试图写入未经授权的属性”}
这是发送的数据,如 Chrome 开发人员控制台网络输出所示:
{
"AccessToken": "",
"UserAttributes": [{
"Name": "name",
"Value": "Steve Austin"
}, {
"Name": "custom:company",
"Value": "OSI"
}, {
"Name": "custom:division",
"Value": "Bionics"
}, {
"Name": "custom:recruitingrole",
"Value": "other"
}, {
"Name": "custom:linkedin",
"Value": "http://www.linkedin.com"
}, {
"Name": "custom:location",
"Value": "Mexico City, Mexico City, Mexico"
}, {
"Name": "custom:bio",
"Value": "A man barely alive."
}]
}
谁能建议为什么我不能保存到这些属性?
谢谢
原文由 Duke Dougal 发布,翻译遵循 CC BY-SA 4.0 许可协议
当然,当我在 StackOverflow 上发完帖子时,答案就很清楚了。
问题是我没有在与用户池关联的应用程序中为这些属性设置权限。文档应在讨论自定义属性的地方明确说明此要求。