Fiche 10.03 — Firebase Auth : email/password, Google, Apple, logout
Objectif
Comprendre les grandes opérations Firebase Auth dans une app SwiftUI : inscription, connexion, session, Google, Apple et logout.
1. Pourquoi Firebase Auth ?
Firebase Auth permet de gérer rapidement l’authentification sans créer tout un backend propriétaire.
Il peut gérer :
- email/password ;
- Google Sign-In ;
- Sign in with Apple ;
- session utilisateur ;
- récupération de l’utilisateur courant ;
- logout ;
- suppression de compte.
2. Connexion email/password
La vue ou le ViewModel appelle ce service.
3. Écouter la session Firebase
Firebase peut prévenir quand l’utilisateur se connecte ou se déconnecte.
Cet état peut ensuite décider d’afficher LoginView ou MainTabView.
4. Google Sign-In
Le flux exact dépend du SDK Google, mais l’idée est :
Exemple simplifié :
5. Sign in with Apple
Même logique : Apple renvoie une identité, puis Firebase utilise un credential.
Exemple d’idée :
Dans une vraie app, il faut gérer le nonce et le flow Apple proprement.
6. Logout
Après logout, le listener Firebase détecte que user == nil.
7. Suppression de compte
Attention : Firebase peut demander une reconnexion récente avant suppression.
Résumé
- Firebase Auth simplifie l’authentification.
- Email/password se fait avec
signInetcreateUser. - La session peut être observée avec
addStateDidChangeListener. - Google et Apple passent par des credentials Firebase.
- Logout se fait avec
signOut(). - Suppression de compte possible, parfois avec reconnexion requise.