Authentifiez-vous avec Firebase à l'aide de comptes basés sur un mot de passe sur Flutter

Vous pouvez utiliser l'authentification Firebase pour permettre à vos utilisateurs de s'authentifier auprès de Firebase à l'aide d'adresses e-mail et de mots de passe.

Avant que tu commences

  1. Si ce n'est pas déjà fait, suivez les étapes décrites dans le guide de démarrage .

  2. Activer la connexion par e-mail/mot de passe :

    • Dans la section Authentification de la console Firebase, ouvrez la page Méthode de connexion .
    • Sur la page Méthode de connexion , activez la méthode de connexion par e-mail/mot de passe et cliquez sur Enregistrer .

Créer un compte avec mot de passe

Pour créer un nouveau compte utilisateur avec un mot de passe, appelez la méthode createUserWithEmailAndPassword() :

try {
  final credential = await FirebaseAuth.instance.createUserWithEmailAndPassword(
    email: emailAddress,
    password: password,
  );
} on FirebaseAuthException catch (e) {
  if (e.code == 'weak-password') {
    print('The password provided is too weak.');
  } else if (e.code == 'email-already-in-use') {
    print('The account already exists for that email.');
  }
} catch (e) {
  print(e);
}

En règle générale, vous le ferez à partir de l'écran d'inscription de votre application. Lorsqu'un nouvel utilisateur s'inscrit à l'aide du formulaire d'inscription de votre application, effectuez toutes les étapes de validation du nouveau compte requises par votre application, par exemple en vérifiant que le mot de passe du nouveau compte a été correctement saisi et répond à vos exigences de complexité.

Si le nouveau compte a été créé avec succès, l'utilisateur est également connecté. Si vous écoutez les changements d' état d'authentification , un nouvel événement sera envoyé à vos auditeurs.

Suite à la création d'un nouveau compte, vous pouvez vérifier l'adresse e-mail de l'utilisateur .

Connectez un utilisateur avec une adresse e-mail et un mot de passe

Les étapes de connexion d'un utilisateur avec un mot de passe sont similaires aux étapes de création d'un nouveau compte. Depuis l'écran de connexion de votre application, appelez signInWithEmailAndPassword() :

try {
  final credential = await FirebaseAuth.instance.signInWithEmailAndPassword(
    email: emailAddress,
    password: password
  );
} on FirebaseAuthException catch (e) {
  if (e.code == 'user-not-found') {
    print('No user found for that email.');
  } else if (e.code == 'wrong-password') {
    print('Wrong password provided for that user.');
  }
}

Prochaines étapes

Une fois qu'un utilisateur crée un nouveau compte, ce compte est stocké dans le cadre de votre projet Firebase et peut être utilisé pour identifier un utilisateur dans chaque application de votre projet, quelle que soit la méthode de connexion utilisée par l'utilisateur.

Dans vos applications, vous pouvez obtenir les informations de base du profil de l'utilisateur à partir de l'objet User . Voir Gérer les utilisateurs .

Dans vos règles de sécurité de base de données en temps réel Firebase et de stockage cloud, vous pouvez obtenir l'ID utilisateur unique de l'utilisateur connecté à partir de la variable auth et l'utiliser pour contrôler les données auxquelles un utilisateur peut accéder.

Vous pouvez autoriser les utilisateurs à se connecter à votre application à l'aide de plusieurs fournisseurs d'authentification en associant les informations d'identification du fournisseur d'authentification à un compte utilisateur existant.

Pour déconnecter un utilisateur, appelez signOut() :

await FirebaseAuth.instance.signOut();