Repository navigation
Configurer Firebase Auth pour l'app (Google, lien e-mail, apps Android et iOS) #384
Description
Contexte
Epic : #6
Maquette : sans objet — configuration de console, aucun écran ni code
Architecture-Technique (Auth Firebase ; « seules les clés publiques Mapbox et Firebase sont embarquées, restreintes par bundle id ») · Compte-et-Monetisation · D-002
Issu du découpage de #38 (décision de Paul du 2026-10-13). Le dépôt n'a ni google-services.json ni GoogleService-Info.plist, et l'app n'embarque aucun SDK Firebase ; l'API vérifie déjà les jetons Firebase (apps/api/src/auth). Ce ticket prépare le projet Firebase pour que #386 puisse être codé et recetté. Apple est hors périmètre tant que le compte Apple Developer n'existe pas (#289) : il est porté par #388.
Tâche humaine (Paul), guidée par l'agent : aucune PR, le ticket se ferme quand Paul dit que c'est fait.
Comportement attendu
Dans le projet Firebase de staging (celui dont l'API staging vérifie les jetons) :
- Authentication › Sign-in method : activer Google et E-mail / mot de passe avec l'option Lien par e-mail (connexion sans mot de passe). Ne pas activer Apple.
- Domaine du lien e-mail : vérifier que le domaine qui servira le lien (domaine
*.firebaseapp.comou*.web.appdu projet) figure dans Authentication › Settings › Domaines autorisés, et noter ce domaine dans un commentaire du ticket. - App Android : enregistrer l'app
app.widoo, avec l'empreinte SHA-1 (et SHA-256) du keystore EAS du profilpreview(eas credentials, plateforme Android), plus celle du keystore de debug local si les builds de développement doivent se connecter à Google. - App iOS : enregistrer l'app
app.widoo(bundle id seul ; aucun compte Apple n'est requis pour cette étape). - Télécharger
google-services.jsonetGoogleService-Info.plistet les poser comme variables d'environnement EAS de type fichier dans le projetwidoo-mobile, environnementsdevelopmentetpreview(noms proposés :GOOGLE_SERVICES_JSONetGOOGLE_SERVICE_INFO_PLIST), visibilité « Plain text » ou « Sensitive » (ce ne sont pas des secrets, mais ils n'ont pas à être lisibles publiquement). - Relever l'ID client OAuth Web créé par Firebase pour Google (nécessaire au SDK Google côté app) et le poser dans EAS (
EXPO_PUBLIC_GOOGLE_WEB_CLIENT_ID, environnementsdevelopmentetpreview). - Dire dans un commentaire où se trouvent les fichiers (noms des variables EAS) ; aucun fichier n'est commité par ce ticket : Connecter l'utilisateur avec Google et par lien e-mail (E-10) #386 décide, en CODE, s'ils sont lus depuis EAS ou versionnés dans
apps/mobile(clés publiques restreintes par bundle id, d'après le wiki).
Critères d'acceptation
- Google et lien par e-mail sont activés dans le projet Firebase de staging ; Apple ne l'est pas
- Le domaine du lien e-mail figure dans les domaines autorisés et est noté en commentaire
- L'app Android
app.widooest enregistrée avec la SHA-1 du keystore EASpreview - L'app iOS
app.widooest enregistrée -
eas env:list --environment preview(projetwidoo-mobile) liste les deux variables de fichier et l'ID client Web ; même chose endevelopment - Aucun fichier de configuration Firebase n'est ajouté à Git par ce ticket
Notes techniques
- Le projet Firebase de production (Préparer la production : projet GCP et Firebase prod, domaine, DNS, e-mails, alertes de coût #246) refera ces étapes avec le keystore et le bundle de production.
- L'e-mail de connexion partira d'abord par Firebase (modèle Firebase) : l'envoi par l'API via Brevo (D-069) est porté par Envoyer le lien de connexion par l'API via Brevo #397 (
needs-design, arbitrage d'Ilan), voir aussi Connecter l'utilisateur avec Google et par lien e-mail (E-10) #386.
Activity
PaulThiberville commentedon Oct 13, 2026
Vérification — configuration Firebase de staging
Faite par Paul le 2026-10-13, consignée par l'agent MANAGER d'après ses déclarations et ses captures de la console Firebase (projet
widoo-staging), vues par l'orchestrateur.Authentication › Sign-in method
Domaines autorisés (Authentication › Settings) :
localhost,widoo-staging.firebaseapp.com,widoo-staging.web.app. Domaine du lien e-mail :widoo-staging.firebaseapp.com(ouwidoo-staging.web.app), tous deux autorisés.Apps enregistrées
app.widoo— ID1:211520729217:android:17f9b758643026e9d29d80, empreintes du keystore EASpreview(publiques) :3C:03:33:C5:38:FC:AE:A6:A1:00:87:CA:F2:68:F4:10:EB:2A:1E:D930:E1:76:FF:2F:56:AA:CA:0C:48:54:D4:A6:C4:E5:82:78:D2:5A:83:4A:71:E6:06:82:78:3A:E5:D5:FF:73:F3app.widoo— ID1:211520729217:ios:d65363ce4bff1b41d29d80, sans ID App Store ni ID d'équipe (compte Apple Developer en attente, Ouvrir le compte Apple Developer de la société #289).widoo-web: existait déjà (Marco), non modifiée.Variables EAS — projet
@inprogress-agency-team/widoo(le ticket le nommaitwidoo-mobile), environnementspreviewetdevelopment, posées pareas env:create, vérifiées pareas env:list(noms seulement) :GOOGLE_SERVICES_JSON— fichier, sensitiveGOOGLE_SERVICE_INFO_PLIST— fichier, sensitiveEXPO_PUBLIC_GOOGLE_WEB_CLIENT_ID— texte, plaintext (client OAuth de type 3 lu dansgoogle-services.json)Git : aucun fichier de configuration Firebase ajouté au dépôt ; les fichiers téléchargés restent sur le poste de Paul, hors dépôt.
Critères tenus cochés. Le critère restant (option lien par e-mail) est mineur et vérifiable en recette de #386 : ticket fermé.
PaulThiberville commentedon Oct 13, 2026
Complément du 2026-10-13 : Paul déclare que l'option « Lien par e-mail (connexion sans mot de passe) » est cochée dans Firebase › Authentication › Adresse e-mail/Mot de passe (projet
widoo-staging). Le premier critère est coché ; la réserve « à confirmer » du commentaire précédent est levée. Tous les critères sont tenus.