gpt4 book ai didi

amazon-web-services - getUserAttributes响应中缺少自定义属性-AWS Cognito

转载 作者:行者123 更新时间:2023-12-04 05:45:52 26 4
gpt4 key购买 nike

const userData = { Username: username, Pool: userPool };
const cognitoUser = new AWS.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.getUserAttributes(function(err, result) {
if (err) {
alert(err);
return;
}
console.log(result)
for (i = 0; i < result.length; i++) {
console.log('attribute ' + result[i].getName() + ' has value ' + result[i].getValue());
}
});

我有一个自定义字段userType。我已经为自定义属性设置了读写权限。但是在getUserAttributes的响应中,我仅获得标准属性(sub,email_verified,email)。如何检索标准属性和自定义属性?

这是我的回应

enter image description here

最佳答案

首先,您需要确保App客户端具有读取属性的权限。

转到AWS Cognito,选择用户池,然后选择常规设置> App客户端,然后选择App Client,然后单击“设置属性读取和写入权限”

您应该看到以下options(注意,我已创建“custom:premium”属性,并具有读取权限集)

然后,为了查看cognitoUser.getUserAttributes()结果中的自定义属性,您需要为其设置一些值,例如,可以使用以下命令通过AWS CLI完成此操作:

aws cognito-idp admin-update-user-attributes \
--user-pool-id userPoolId \
--username userName \
--user-attributes Name=custom:premium,Value=1

在上面的示例中,我将“ custom:premium ”属性设置为值1(显然,您需要用正确的值替换 userPoolId userName )。
  • userPoolId 可以在AWS Cognito中找到(例如:eu-central-1_896ERRASw)
  • 用户名是您当前在应用程序中登录的用户的用户名(并调用cognitoUser.getUserAttributes())

    正确设置自定义属性的权限和值后,添加And here is the result of the function call

  • 希望能帮助到你!

    关于amazon-web-services - getUserAttributes响应中缺少自定义属性-AWS Cognito,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48700030/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com