【问题标题】:AWS Cognito Custom Attributes Not Created未创建 AWS Cognito 自定义属性
【发布时间】:2017-09-08 18:50:50
【问题描述】:

我正在尝试使用 AWS Cognito 开发工具包设置 Cognito 用户,但在向用户添加自定义属性时遇到问题。我已确保变量名称完全匹配,并且应用程序允许对所有属性进行读/写。我的代码如下所示:

var attributeList = [];

var dataName = {
    Name: 'name',
    Value: name
};
var dataPhoneNumber = {
    Name: 'phone_number',
    Value: phone
};
var dataIsDriver = {
    Name: 'custom:is_driver',
    Value: 0
};

var attributeName = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserAttribute(dataName);
var attributePhoneNumber = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserAttribute(dataPhoneNumber);
var attributeIsDriver = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserAttribute(dataIsDriver);


attributeList.push(attributeName);
attributeList.push(attributePhoneNumber);
attributeList.push(attributeIsDriver);

var username = generateUUID();
localStorage.setItem("username", username);

var userPool = getUserPool();
userPool.signUp(username, password, attributeList, null, function (err, result) {
    if (err) {
        alert(err);
        return;
    }
}

使用此代码,name 和 phone_number 属性设置正确,但没有“is_driver”。我尝试使用 adminGetUser 来获取所有用户的属性,但 is_driver 仍然没有出现。任何指导将不胜感激!

【问题讨论】:

  • 检查 cognito 用户池中的应用程序页面。尽管您提到提供了读/写权限,但有时如果您稍后添加一些属性,则权限不会自动应用。我遇到过类似的问题。转到您的用户池,然后选择 Apps > Show Details > Set attribute read and write permissions 。检查那里的范围和读写权限。
  • 我已经确认这些框已被选中:imgur.com/a/EvWqT。此外,自定义属性未显示在用户屏幕上:imgur.com/a/O3fqj。有什么想法吗?

标签: javascript amazon-web-services amazon-cognito


【解决方案1】:

我认为这可能会发生,因为您将属性值作为数字传递,所以 0。属性被视为字符串以进行验证只是服务的特殊性。

您可以尝试用下面的代码替换它,看看它是否有效。

var dataIsDriver = {
    Name: 'custom:is_driver',
    Value: '0'
};

【讨论】:

    猜你喜欢
    • 2019-06-29
    • 1970-01-01
    • 2017-11-19
    • 2020-02-06
    • 2018-10-09
    • 1970-01-01
    • 2018-11-02
    • 2018-03-25
    • 2021-03-29
    相关资源
    最近更新 更多