S'authentifier avec Firebase à l'aide d'un système d'authentification personnalisé
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Vous pouvez intégrer Firebase Authentication à un système d'authentification personnalisé en
modifier votre serveur d'authentification pour produire des jetons signés personnalisés lorsqu'un utilisateur
se connecte avec succès. Votre application reçoit ce jeton et l'utilise pour s'authentifier
avec Firebase.
Avant de commencer
- Si ce n'est pas déjà fait, suivez les étapes du guide de démarrage.
- Installez et configurez le SDK Admin Firebase.
Veillez à initialiser le SDK.
avec les identifiants appropriés pour votre projet Firebase.
Authentifier avec Firebase
Lorsque les utilisateurs se connectent à votre application, envoyez leurs identifiants (par
par exemple, son nom d'utilisateur et son mot de passe) à votre serveur d'authentification. Votre
vérifie les identifiants et, s'ils sont valides,
crée un jeton Firebase personnalisé
puis renvoie le jeton à votre application.
Après avoir 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
Une fois qu'un utilisateur a créé un compte, celui-ci est stocké dans votre projet Firebase et peut être utilisé pour identifier un utilisateur 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 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();
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/25 (UTC).
[null,null,["Dernière mise à jour le 2025/07/25 (UTC)."],[],[],null,["# Authenticate with Firebase Using a Custom Authentication System\n\n\u003cbr /\u003e\n\nYou can integrate Firebase Authentication with a custom authentication system by\nmodifying your authentication server to produce custom signed tokens when a user\nsuccessfully signs in. Your app receives this token and uses it to authenticate\nwith Firebase.\n\nBefore you begin\n----------------\n\n1. If you haven't already, follow the steps in the [Get started](/docs/auth/flutter/start) guide.\n2. [Install and configure the Firebase Admin SDK](/docs/admin/setup). Be sure to [initialize the SDK](/docs/admin/setup#initialize-sdk) with the correct credentials for your Firebase project.\n\nAuthenticate with Firebase\n--------------------------\n\n1. When users sign in to your app, send their sign-in credentials (for\n example, their username and password) to your authentication server. Your\n server checks the credentials and, if they are valid,\n [creates a custom Firebase token](/docs/auth/admin/create-custom-tokens)\n and sends the token back to your app.\n\n2. After you receive the custom token from your authentication server, pass it\n to `signInWithCustomToken()` to sign in the user:\n\n try {\n final userCredential =\n await FirebaseAuth.instance.signInWithCustomToken(token);\n print(\"Sign-in successful.\");\n } on FirebaseAuthException catch (e) {\n switch (e.code) {\n case \"invalid-custom-token\":\n print(\"The supplied token is not a Firebase custom auth token.\");\n break;\n case \"custom-token-mismatch\":\n print(\"The supplied token is for a different Firebase project.\");\n break;\n default:\n print(\"Unknown error.\");\n }\n }\n\nNext steps\n----------\n\nAfter a user creates a new account, this account is stored as part of your\nFirebase project, and can be used to identify a user across every app in your\nproject, regardless of what sign-in method the user used.\n\nIn your apps, you can get the user's basic profile information from the\n`User` object. See [Manage Users](/docs/auth/flutter/manage-users).\n\nIn your Firebase Realtime Database and Cloud Storage Security Rules, you can\nget the signed-in user's unique user ID from the `auth` variable, and use it to\ncontrol what data a user can access.\n\nYou can allow users to sign in to your app using multiple authentication\nproviders by [linking auth provider credentials](/docs/auth/flutter/account-linking)) to an\nexisting user account.\n\nTo sign out a user, call `signOut()`: \n\n await FirebaseAuth.instance.signOut();"]]