Vous pouvez utiliser Firebase Authentication pour permettre à vos utilisateurs de s'authentifier avec Firebase à l'aide d'adresses e-mail et de mots de passe.
Avant de commencer
Si ce n'est pas déjà fait, suivez les étapes du guide de démarrage.
Activer la connexion par e-mail/mot de passe:
- Dans la section Authentification de la console Firebase, ouvrez le Méthode de connexion .
- Sur la page Mode de connexion, activez l'option Connexion par e-mail/mot de passe. , puis cliquez sur Save (Enregistrer).
Créer un compte basé sur un mot de passe
Pour créer un compte utilisateur avec un mot de passe, appelez la méthode createUserWithEmailAndPassword()
.
méthode:
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 faites depuis l'écran de connexion de votre application. Lorsqu'un nouvel utilisateur s'inscrit à l'aide du formulaire d'inscription de votre application, effectuez les étapes de validation de compte requises par votre application, par exemple pour vérifier que le mot de passe du nouveau compte a été saisi correctement et qu'il répond à vos exigences de complexité.
Si le nouveau compte a bien été créé, l'utilisateur est également connecté. Si vous écoutent les changements d'état d'authentification, une nouvelle est envoyé à vos écouteurs.
Après avoir créé un compte, vous pouvez effectuer les actions suivantes : Validez l'adresse e-mail de l'utilisateur.
Connecter un utilisateur avec une adresse e-mail et un mot de passe
La procédure de connexion d'un utilisateur avec un mot de passe est semblable à celle de création d'un 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.');
}
}
Étapes suivantes
Lorsqu'un utilisateur crée un compte, celui-ci est stocké dans votre dans votre projet Firebase. Vous pouvez l'utiliser pour identifier un utilisateur dans toutes les applications de votre 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 des
User
. Consultez Gérer les utilisateurs.
Dans votre base de données Firebase Realtime Database et vos règles de sécurité Cloud Storage, vous pouvez :
Obtenez l'ID utilisateur unique de l'utilisateur connecté à partir de la variable auth
, puis utilisez-le pour
contrôler les données auxquelles
un utilisateur peut accéder.
Vous pouvez autoriser les utilisateurs à se connecter à votre appli à l'aide de plusieurs authentifications en associant les identifiants du fournisseur d'authentification) à compte utilisateur existant.
Pour déconnecter un utilisateur, appelez signOut()
:
await FirebaseAuth.instance.signOut();