J'utilise l'authentification Firebase pour authentifier les utilisateurs dans mon application Flutter, lorsque l'utilisateur a entré son bon mot de passe, l'application lui montre normalement la page d'accueil, mais lorsque le mot de passe est incorrect, il ne s'est rien passé, je veux afficher une alerte à chaque fois que le l'utilisateur entre un mauvais mot de passe, comment faire?
Utilisez la méthode currentUser () :
if (FirebaseAuth.instance.currentUser() != null) {
// signed in
} else {
}
Cela n'a pas fonctionné pour moi, c'est ce que j'ai fait:
FirebaseAuth.instance.currentUser().then((firebaseUser){
if(firebaseUser == null)
{
//signed out
}
else{
//signed in
}
});
void _emailLogin () async {utilisateur final = attendre _auth.signInWithEmailAndPassword (email: email, mot de passe: mot de passe);
if(user != null){
// Do something
}
} catch (e) {
String exception = Auth.getExceptionText(e);
Flushbar(
title: "Sign In Error",
message: exception,
duration: Duration(seconds: 5),
)..show(context);
}
essayez ça, ça a marché pour moi.
Obtenez le jeton de l'utilisateur et actualisez-le.
Future<bool> isUserLogged() async {
FirebaseUser firebaseUser = await getLoggedFirebaseUser();
if (firebaseUser != null) {
IdTokenResult tokenResult = await firebaseUser.getIdToken(refresh: true);
return tokenResult.token != null;
} else {
return false;
}
}
Future<FirebaseUser> getLoggedFirebaseUser() {
return firebaseAuthInstance().currentUser();
}