1.使用aws-sdk-js库连接到AWS Cognito服务。
const AWS = require('aws-sdk'); AWS.config.update({region: 'aws-region'});
const cognito = new AWS.CognitoIdentityServiceProvider();
2.使用adminDeleteUser()方法删除Cognito用户。它需要包含用户池ID和要删除的用户名作为参数。
var params = { UserPoolId: 'user-pool-id', Username: 'username' };
cognito.adminDeleteUser(params, function(err, data) { if (err) console.log(err, err.stack); else console.log(data); });
3.使用adminGetUser()方法检查要删除的用户是否存在。它需要包含用户池ID和要检索的用户名作为参数。
var params = { UserPoolId: 'user-pool-id', Username: 'username' };
cognito.adminGetUser(params, function(err, data) { if (err) console.log(err, err.stack); else console.log(data); });
4.如果adminGetUser()方法返回NotFoundException,则表示用户已被成功删除。
示例:
const AWS = require('aws-sdk'); AWS.config.update({ region: 'us-east-1' });
const cognito = new AWS.CognitoIdentityServiceProvider();
const deleteUser = async (userName) => { const params = { UserPoolId: 'us-east-1_abcde', Username: userName };
try {
await cognito.adminDeleteUser(params).promise();
console.log('User deleted successfully');
try {
await cognito.adminGetUser(params).promise();
} catch (error) {
if (error.code === 'UserNotFoundException') {
console.log('User was deleted successfully.');
}
else {
throw error;
}
}
} catch (error) {
console.error(error);
}
};
deleteUser('test_user');