如何在aws认知中更新用户的自定义属性



我正在将条纹集成到MERN应用程序中。在条纹webhook调用上,我需要更新用户自定义属性(Cognito)。是否有任何可能的方法可以在池中找到使用email的用户并更新其自定义属性?

I have try(function:listUsers)这段代码用于获取用户,但它不提供用户的自定义变量。

const params = {
UserPoolId: AWS_POOL_ID,
AttributesToGet: ["email"],
};
new Promise((resolve, reject) => {
AWS.config.update({
region: AWS_REGION,
accessKeyId: AWS_ACCESS_PUBLIC,
secretAccessKey: AWS_ACCESS_SECRET,
});
const cognitoIdentityServiceProvider =
new AWS.CognitoIdentityServiceProvider();
cognitoIdentityServiceProvider.listUsers(params, (err, data) => {
if (err) {
console.log("cognito err::", err);
reject(err);
} else {
console.log("cognito data:", data);
resolve(data);
}
});
});

反应:

[
{
Username: '15a2-c98c-43a5-63c',
Attributes: [
{ Name: 'email', Value: 'abc@gmail.com' }
],
UserCreateDate: 2021-12-02T11:33:37.561Z,
UserLastModifiedDate: 2021-12-02T11:35:24.956Z,
Enabled: true,
UserStatus: 'CONFIRMED'
},
{
Username: '15ff633f-41faa9',
Attributes: [
{ Name: 'email', Value: 'abc@gmail.com' }
],,
UserCreateDate: 2021-09-17T14:37:12.943Z,
UserLastModifiedDate: 2021-09-18T04:08:25.443Z,
Enabled: true,
UserStatus: 'CONFIRMED'
}
]

但是我需要获取和更新自定义变量只能通过电子邮件找到用户

您在传递给调用的参数中传递AttributesToGet属性中的email以列出用户。根据本文档,如果不包含该数组,则将返回所有属性,包括来自Cognito的自定义属性,该属性应该具有custom:的前缀。

您还可以使用此函数更新用户的自定义属性。

最新更新