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

Vous pouvez utiliser Firebase Authentication 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 vous ne l'avez pas déjà fait, suivez les étapes du 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 basé sur un 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 feriez à 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 de nouveau compte requises par votre application, telles que la vérification 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 a créé 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' User à partir de l'objet Utilisateur. Voir Gérer les utilisateurs .

Dans vos règles de sécurité Firebase Realtime Database et Cloud Storage, 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 liant les informations d'identification du fournisseur d'authentification ) à un compte utilisateur existant.

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

await FirebaseAuth.instance.signOut();