Saltar al contenido

Cómo obtener la identificación de usuario actual de Firebase en Flutter

Solución:

Actualización (2020.09.09)

Después de la versión 0.18.0 de firebase_auth

Se realizaron pocas actualizaciones importantes en firebase_auth 0.18.0. FirebaseUser ahora se llama User, currentUser es un getter y currentUser es sincrónico.

Esto crea el código para obtener uid como este:

final FirebaseAuth auth = FirebaseAuth.instance;

void inputData() {
    final User user = auth.currentUser;
    final uid = user.uid;
    // here you write the codes to input the data into firestore
  }

Antes de la versión 0.18.0 de firebase_auth

uid es una propiedad del objeto FirebaseUser. Dado que auth.currentUser () devuelve un futuro, debe esperar para obtener el objeto de usuario de esta manera:

final FirebaseAuth auth = FirebaseAuth.instance;

void inputData() async {
    final FirebaseUser user = await auth.currentUser();
    final uid = user.uid;
    // here you write the codes to input the data into firestore
  }

Debe esperar a que se complete la operación asincrónica.

final FirebaseUser user = await auth.currentUser();
final userid = user.uid;

o puede usar la sintaxis de estilo then:

final FirebaseUser user = auth.currentUser().then((FirebaseUser user) {
  final userid = user.uid;
  // rest of the code|  do stuff
});

final FirebaseAuth _auth = FirebaseAuth.instance;
getCurrentUser() async {
    final FirebaseUser user = await _auth.currentUser();
    final uid = user.uid;
    // Similarly we can get email as well
    //final uemail = user.email;
    print(uid);
    //print(uemail);
  }

Llame a la función getCurrentUser para obtener el resultado. Por ejemplo, usé un botón:

RaisedButton(
              onPressed: getCurrentUser,
              child: Text('Details'),
            ),
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *