如何在 nodejs 中从 * cognito * 中删除用户帐户。
我正在尝试从 cognito 中删除用户,但这对我不起作用。
AWS 配置
const AWS = require('aws-sdk');
const cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
池配置
const poolConfig = {
UserPoolId: keys.cognito.userPoolId,
ClientId:keys.cognito.clientId
};
以上配置位于以下删除功能之上。
删除函数
function deleteUserFunc(req, decodedToken) {
return new Promise((resolve, reject) => {
const decodedEmailid = decodedToken.email;
const decodedSub = decodedToken.sub;
try {
const userDetails = { Username: decodedSub, Pool: userPool };
console.log('DEBUG : ' + JSON.stringify(userDetails));
const cognitoUser = new AmazonCognitoIdentity.CognitoUser(userDetails);
// Attempting to delete the user
cognitoidentityserviceprovider.adminDeleteUser({
UserPoolId: keys.cognito.userPoolId,
Username: decodedEmailid
}, (err, data)=>
if(err) {
return reject({
error: err.message
});
} else {
return resolve({
error: null
});
}
}).promise().catch(err=>{
return reject({
error: err.message
});
});
console.log('User deleteion status : ' + result);
return resolve({
error: null,
});
});
} catch (err) {
return reject({
error: err,
});
}
});
}
我也试过删除用户
const userDetails = { Username: decodedEmailId, Pool: userPool }
但没用。
任何帮助将不胜感激。
最佳答案
试试这个:
const AWS = require('aws-sdk');
AWS.config.update({
accessKeyId: 'access key id',
secretAccessKey: 'secret access key',
region: 'region',
});
const cognito = new AWS.CognitoIdentityServiceProvider();
await cognito.adminDeleteUser({
UserPoolId: 'pool id',
Username: 'username',
}).promise();
请注意,您在 sdk 中使用的访问 token 应具有所需池的 cognito-idp:AdminDeleteUser
权限。
关于node.js - 如何删除 Node.js 中的 Cognito 用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56020630/