sesion - registrar usuario firebase
Eliminar todos los usuarios de la consola de autenticación de firebase (8)
¿Hay alguna manera fácil de eliminar todos los usuarios registrados de la consola de Firebase? Por ejemplo, creé cien usuarios de mi entorno de desarrollo y ahora quiero eliminarlos todos.
Al igual que en la respuesta actualizada, probablemente pueda utilizar ahora las herramientas de administración de firebase, pero si no lo desea, aquí hay un javascript un poco más sólido para eliminar usuarios en la web:
var intervalId;
var clearFunction = function() {
if ($(''[aria-label="Delete account"]'').size() == 0) {
console.log("interval cleared")
clearInterval(intervalId)
return
}
$(''[aria-label="Delete account"]'')[0].click();
setTimeout(function () {
$(".md-raised:contains(Delete)").click()
}, 1000);
};
intervalId = setInterval(clearFunction, 3000)
Simplemente ejecútelo en herramientas de desarrollador
Aquí está mi bicicleta: 😄
setInterval(() => {
$(''[aria-label="Delete account"]'').first().click()
setTimeout(()=>{
$(".md-raised:contains(Delete)").click()
}, 100)
}, 2000);
diseñado para evitar llamar al extremo de delete
mucha frecuencia, ya que Google falla con el error 404
.
Aumentó ligeramente su script de ayuda.
Versión del sitio alemán de firebase:
$(''[aria-label="Nutzermenü öffnen"]'').click();
$(''[aria-label="Konto löschen"]'').click();
for (i = 0; i < 20; i++) {
setTimeout(() => {
$(''.md-raised:contains(Löschen)'').click();
}, i * 200);
}
Para la versión en inglés simplemente reemplace el texto. De esta forma puede eliminar 20 o más usuarios una vez ejecutados.
Bueno, utilicé este script para eliminar a todos los usuarios a la vez en la consola de Firebase:
$(''[aria-label="Delete account"]'').each(function() {
$(this).click();
$(''[ng-click="controller.submit()"]'').click()
})
https://console.firebase.google.com/project/YOUR_PROJECT_NAME/authentication/users
Como soy bastante flojo al hacer clic en botones y elementos en la interfaz de usuario, configuré un pequeño script de cliente:
$(''[aria-label="Delete account"]'').click()
setTimeout(function () {
$(".md-raised:contains(Delete)").click()
}, 1000);
Es posible que deba ejecutarlo varias veces, pero es mucho mejor que perder el tiempo haciendo clic manualmente en las cosas de la pantalla.
Esto podría ser útil para algunos. Si tiene acceso a la consola de usuario de firebase, solo guarde la página como un html y use lo siguiente para eliminar usuarios con un nodo. necesita configurar firebase-admin
let fs = require(''fs''),
admin = require(''firebase-admin''),
cheerio = require(''cheerio'');
// initialize firebase admin here
admin.initializeApp({
credential: admin.credential.cert(''path/to/serviceAccountKey.json''),
databaseURL: ''https://<DATABASE_NAME>.firebaseio.com''
});
// use cheerio to load the html file you downloaded
$ = cheerio.load(fs.readFileSync(''./yourfirebaseconsole.html''));
$(''.a12n-user-uid .fb-table-cell-wrapper'').each(function() {
admin.auth().deleteUser($(this).text());
}).then(() => {
console.log(''successfully delete user'');
}).catch((error) => {
console.log(''error occurred '', error);
});
Yo recomendaría hacer una ejecución en seco de la lógica de análisis html una vez en la página usando el navegador simplemente ejecutando esto y confirmando que solo los identificadores de usuario se muestran en el resultado. En mi caso, esto devolvió todos los UID
$(''.a12n-user-uid .fb-table-cell-wrapper'').each(function() {
console.log($(this).text());
});
Versión rusa
var intervalId;
var clearFunction = function() {
if ($(''[aria-label="Удаление аккаунта"]'').size() == 0) {
console.log("interval cleared")
clearInterval(intervalId)
return
}
$(''[aria-label="Удаление аккаунта"]'')[0].click();
setTimeout(function () {
$(''[ng-click="controller.submit()"]'').click()
}, 1000);
};
intervalId = setInterval(clearFunction, 3000)
firebaser aquí
Actualización de la respuesta original de 2016-11-08 a continuación
Acabamos de lanzar Firebase Admin SDK , que admite casos de uso administrativos, como eliminar una cuenta de usuario sin que el usuario tenga que iniciar sesión primero .
respuesta original
Actualmente no hay una API en Firebase Authentication que elimine a un usuario sin requerir que el usuario inicie sesión. Sabemos que esto limita la usabilidad de nuestra API y estamos trabajando para agregar dicha funcionalidad en una versión futura. Pero como de costumbre, no proporcionamos líneas de tiempo específicas para cuando la función estará disponible.
Por el momento, su única solución es:
- inicie sesión como cada usuario de prueba en la aplicación y elimine al usuario desde allí
- eliminar cada usuario a su vez de la consola de Firebase