Con este proyecto se puede limpiar todos los usuarios de un pool seleccionado de cognito, TOMAR PRECAUCIONES
El algoritmo obtiene la lista de todos los usuarios de cognito, solo vienen de 60 en 60 pero esto es limitación de cognito. Para obtener la siguiente lista se utiliza un paginationToken que se envía en la siguiente petición de usuarios entregando 60 más. Este proceso se repite hasta que no devuelve paginationToken por lo que ya no hay mas usuarios. Luego este array se utiliza para eliminar los registros.
Para iniciar el proceso hacer lo siguiente:
- Correr
npm installpara instalar las dependencias - Duplicar el archivo
.env.exampley renombrarlo a.env - Abrir el archivo
.envy colocarle el valor a las variables de entorno de acuerdo a la configuracion de cognito en AWS - Se deben configurar las variables de entorno de AWS. Esto se hace desde la consola de AWS donde se obtienen las credenciales para acceso programaticamente por lo que hay que setear dichas variables también en el archivo
.env:
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_SESSION_TOKEN=
- Por seguridad la linea que elimina está comentada, asi que abrir el archivo
delete.jsy descomentar la línea que envía el comando de eliminación hacia cognito
async function deleteCognitoUser(username, client){
...
// const adminDeleteUserCommandResults = await client.send(new AdminDeleteUserCommand(adminDeleteUserCommandInput));
...
}
- Correr el comando
npm startpara iniciar con el proceso. ESTE PROCESO ES IRREVERSIBLE.