if (mAuth.getCurrentUser().getProviderData().size()<3) { // Si solo hay 2 (Firebase y otro) no hemos hecho link
FirebaseAuth.getInstance().signOut();
numProvs = 0;
}
else {
mAuth.getCurrentUser().unlink(proveedor).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
Log.d(TAG, "unlink: " + proveedor);
numProvs--;
if (!task.isSuccessful())
showErrorDialog(task.getException().getMessage());
mAuthProgressDialog.hide();
}
});
}
}
Ejemplo:
Si estoy conectado con Password y con Facebook (bueno y con el usuario de Firebase que siempre está) cuando
me quiero desconectar de uno de los dos, entro en el else ( si tuviera dos proveedores el por defecto de Firebase y otro
pues entraria por el if y desconectaria el usuario porque sería el ultimo proveedor) y allí hago el unlink. El unlink
funciona bien en la consola Auth de Firebase pero si dentro del onComplete compruebo los proveedores es como sinó me
lo hubiera deslogueado(cuando en la consola ya no está dicho proveedor).
mAuthListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser user = firebaseAuth.getCurrentUser(); if (user != null) { // User is signed in Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getUid()); } else { // User is signed out Log.d(TAG, "onAuthStateChanged:signed_out"); } updateUI(user); } };
Por las dudas, te recomiendo mirar en los codigos de ejemplo: https://github.com/firebase/quickstart-android/blob/master/auth
los ejemplos de login/logout para cada proveedor y para el enviar el signout, fijate de usar:
mAuth.signOut()
para ver si tuvo éxito eso, en el listener AuthStateListener y dentro de onAuthStateChanged comprueba que FirebaseAuth.getCurrentUser() tenga el valor null, ej:
Si titene null esta deslogueado sino tiene un objeto FirebaseUser
mAuthListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser user = firebaseAuth.getCurrentUser(); if (user != null) { // User is signed in Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getUid()); } else { // User is signed out Log.d(TAG, "onAuthStateChanged:signed_out"); } updateUI(user); } };
y además, queres desloguear solo de a un proveedor o desloguear todos a la vez?
--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/desarrolladores-android.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/3c41364a-8bff-4b14-8f4d-df1b3c8923c8%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Ok, es muy raro eso jejeje
Si te funciona, mejor así, justo me iba a poner a buscar algo sobre el tema
Ya me funciona bien, algo han debido hacer en Firebase porque yo no he tocado nada
El miércoles, 15 de junio de 2016, 5:48:15 (UTC+2), Donis escribió:
--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/desarrolladores-android.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/7558af50-f295-4f0d-af69-f048a455a0e4%40googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/CAAFH9pJyyydKSEcBQ-_M-njW4DzOtu0%2B5RkJEeBVJbecfuyvMg%40mail.gmail.com.
Jajaja si estaría bueno recolectar info sobre el tema
Si es verdad, si desarrollas para Android debes conocer y estudiar sobre Firebase. El tema es que hace un tiempo largo, que no hago cosas para Android 😃😃
Y cuando tenía proyectos para Android, Firebase estaba muy verde, así que no me vendría mal un update de conocimiento sobre el tema 😉
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/CAMsit%2BDT4pJbdULa%2B3f4WnsMSj_DB3%3D8Gq22tBnkSyw9Q1%3DSPA%40mail.gmail.com.