要允许用户在不发送验证代码的情况下更改电子邮件地址,您可以使用以下步骤来实现:
以下是一个示例代码,使用AWS SDK for JavaScript(Node.js)来实现上述步骤:
const AWS = require('aws-sdk');
const cognito = new AWS.CognitoIdentityServiceProvider({ region: 'your_region' });
// 更新用户的电子邮件地址
const updateUserEmail = async (userPoolId, username, newEmail) => {
try {
const params = {
UserPoolId: userPoolId,
Username: username,
UserAttributes: [
{
Name: 'email',
Value: newEmail
}
]
};
await cognito.adminUpdateUserAttributes(params).promise();
console.log('用户的电子邮件地址已更新');
} catch (error) {
console.error('更新用户的电子邮件地址时出错:', error);
}
};
// 示例用法
const userPoolId = 'your_user_pool_id';
const username = 'user_to_update';
const newEmail = 'new_email@example.com';
updateUserEmail(userPoolId, username, newEmail);
请确保将"your_region"替换为您的AWS区域,并将"your_user_pool_id"替换为您的用户池ID。同时,将"username"替换为要更新电子邮件地址的用户的用户名,并将"new_email@example.com"替换为新的电子邮件地址。
这样,用户将能够更改其电子邮件地址,而无需发送验证代码。