Vous pouvez intégrer Firebase Authentication à un système d'authentification personnalisé en modifiant votre serveur d'authentification pour qu'il génère des jetons signés personnalisés lorsqu'un utilisateur se connecte. Votre application reçoit ce jeton et l'utilise pour s'authentifier auprès de Firebase.
Avant de commencer
- Si ce n'est pas déjà fait, suivez les étapes du guide Premiers pas.
- Installez et configurez le SDK Admin Firebase. Veillez à initialiser le SDK avec les identifiants appropriés pour votre projet Firebase.
S'authentifier avec Firebase
Lorsque les utilisateurs se connectent à votre application, envoyez leurs identifiants de connexion (par exemple, leur nom d'utilisateur et leur mot de passe) à votre serveur d'authentification. Votre serveur vérifie les identifiants et, s'ils sont valides, crée un jeton Firebase personnalisé et le renvoie à votre application.
Une fois que vous avez reçu le jeton personnalisé de votre serveur d'authentification, transmettez-le à
signInWithCustomToken()pour connecter l'utilisateur :try { final userCredential = await FirebaseAuth.instance.signInWithCustomToken(token); print("Sign-in successful."); } on FirebaseAuthException catch (e) { switch (e.code) { case "invalid-custom-token": print("The supplied token is not a Firebase custom auth token."); break; case "custom-token-mismatch": print("The supplied token is for a different Firebase project."); break; default: print("Unknown error."); } }
Étapes suivantes
Lorsqu'un utilisateur crée un compte, celui-ci est stocké dans votre projet Firebase et peut être utilisé pour l'identifier dans toutes les applications de votre projet, quelle que soit la méthode de connexion utilisée.
Dans vos applications, vous pouvez obtenir les informations de profil de base de l'utilisateur à partir de l'objet User. Consultez 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 associant les identifiants du fournisseur d'authentification à un compte utilisateur existant.
Pour déconnecter un utilisateur, appelez signOut() :
await FirebaseAuth.instance.signOut();