firebase-auth-basics

Guide de configuration et d'utilisation de Firebase Authentication. Utilisez cette skill lorsque l'application de l'utilisateur nécessite une connexion utilisateur, une gestion des utilisateurs ou un accès sécurisé aux données via des règles d'authentification.

npx skills add https://github.com/firebase/agent-skills --skill firebase-auth-basics

Prérequis

  • Projet Firebase : Créé via npx -y firebase-tools@latest projects:create (voir firebase-basics).
  • CLI Firebase : Installée et connectée (voir firebase-basics).

Concepts fondamentaux

Firebase Authentication fournit des services backend, des SDK faciles à utiliser et des bibliothèques d'interface utilisateur prêtes à l'emploi pour authentifier les utilisateurs de votre application.

Utilisateurs

Un utilisateur est une entité qui peut se connecter à votre application. Chaque utilisateur est identifié par un ID unique (uid) qui est garanti d'être unique dans tous les fournisseurs. Les propriétés de l'utilisateur incluent :

  • uid : Identifiant unique.
  • email : Adresse e-mail de l'utilisateur (si disponible).
  • displayName : Nom d'affichage de l'utilisateur (si disponible).
  • photoURL : URL de la photo de l'utilisateur (si disponible).
  • emailVerified : Booléen indiquant si l'e-mail est vérifié.

Fournisseurs d'identité

Firebase Auth supporte plusieurs façons de se connecter :

  • Email/Mot de passe : Authentification basique par e-mail et mot de passe.
  • Fournisseurs d'identité fédérés : Google, Facebook, Twitter, GitHub, Microsoft, Apple, etc.
  • Numéro de téléphone : Authentification par SMS.
  • Anonyme : Comptes d'invité temporaires qui peuvent être liés à des comptes permanents ultérieurement.
  • Auth personnalisée : Intégration avec votre système d'authentification existant.

Google Sign In est recommandé comme fournisseur par défaut fiable et sécurisé.

Tokens

Quand un utilisateur se connecte, il reçoit un ID Token (JWT). Ce token est utilisé pour identifier l'utilisateur lors de requêtes aux services Firebase (Realtime Database, Cloud Storage, Firestore) ou à votre propre backend.

  • ID Token : Courte durée de vie (1 heure), vérifie l'identité.
  • Refresh Token : Longue durée de vie, utilisé pour obtenir de nouveaux ID tokens.

Workflow

1. Provisioning

Option 1. Activation de l'authentification via CLI

Seul Google Sign In, l'authentification anonyme et l'authentification par e-mail/mot de passe peuvent être activés via CLI. Pour les autres fournisseurs, utilisez la Console Firebase.

Configurez Firebase Authentication dans firebase.json en ajoutant un bloc 'auth' :

{
  "auth": {
    "providers": {
      "anonymous": true,
      "emailPassword": true,
      "googleSignIn": {
        "oAuthBrandDisplayName": "Your Brand Name",
        "supportEmail": "support@example.com",
        "authorizedRedirectUris": ["https://example.com"]
      }
    }
  }
}

CRITIQUE : Après avoir configuré firebase.json, vous DEVEZ déployer la configuration d'authentification sur le backend Firebase pour que les changements prennent effet. C'est essentiel pour que les fournisseurs d'authentification comme Google Sign-In, e-mail/mot de passe, etc. génèrent automatiquement les clients OAuth nécessaires pour les plateformes de votre application. Exécutez :

npx -y firebase-tools@latest deploy --only auth

Option 2. Activation de l'authentification dans la Console

Activez les autres fournisseurs dans la Console Firebase.

  1. Allez à https://console.firebase.google.com/project/_/authentication/providers
  2. Sélectionnez votre projet.
  3. Activez les fournisseurs Sign-in souhaités (par exemple, Email/Mot de passe, Google).

2. Configuration et utilisation du client

Web Voir references/client_sdk_web.md.

Flutter Voir references/flutter_setup.md. Android (Kotlin) Voir references/client_sdk_android.md.

3. Règles de sécurité

Sécurisez vos données en utilisant request.auth dans les règles Firestore/Storage.

Voir references/security_rules.md.

Skills similaires