Как удалить пользователя Cognito в Node.js? - PullRequest
1 голос
/ 07 мая 2019

Как удалить учетную запись пользователя из * cognito * в nodejs.

Я пытаюсь удалить пользователя из cognito , это не работает для меня.

AWS config

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 } но бесполезно.

Любая помощь будет высоко ценится.

1 Ответ

1 голос
/ 07 мая 2019

Попробуйте:

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, должен иметь разрешение cognito-idp:AdminDeleteUser на требуемый пул.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...