Connexion par Google seulement : un jeton signé
Beaucoup d’applications se connectent seulement avec Google ou Microsoft, par Firebase Auth. Un robot ne peut pas passer la fenêtre de connexion Google : Google refuse les navigateurs automatisés. Ondaclip ouvre la session autrement : un jeton signé.
Un jeton signé demande votre infrastructure : le jeton est signé par le compte des tournages de votre propre projet Google Cloud. Sur Ondaclip Cloud, décrivez plutôt un formulaire de connexion. Voir où ça tourne.
Comment ça marche
Section intitulée « Comment ça marche »- Avant un tournage, Ondaclip signe un jeton personnalisé Firebase pour l’uid de votre compte de démo. Il signe en tant que compte de service des tournages, dans votre projet Google Cloud. Aucune clé, aucun mot de passe.
- Hors caméra, il échange le jeton contre une session, comme le ferait votre application, et la range là où le SDK Firebase de votre application la garde.
- Votre application s’ouvre déjà connectée, et le SDK Firebase garde la session à jour pendant un long tournage.
Votre application ne change pas. La fenêtre Google ou Microsoft ne s’affiche jamais.
Ce que vous réglez
Section intitulée « Ce que vous réglez »Dans .ondaclip/config.yaml :
signIn: firebaseCustomTokenfirebase: projectId: acme-dev # le projet Firebase de l'environnement filmé apiKey: AIza... # la clé web publique de votre application (dans sa config Firebase)devGuard: appHostPattern: ^acme-dev\.web\.app$ firebaseProjectPattern: ^acme-dev$Dans le studio, Réglages, Comptes de démo : l’uid Firebase de chaque
compte de démo (TUTO_<COMPTE>_UID), pas un mot de passe. Vous le trouvez
dans la console Firebase, Authentication, Users. Il va dans le Secret Manager
de votre projet et n’est plus jamais affiché.
Sécurité
Section intitulée « Sécurité »- Ondaclip signe seulement pour un projet Firebase qui correspond à
devGuard.firebaseProjectPattern. Un tournage sur un autre projet s’arrête avant qu’un jeton existe. - Le signataire doit être un compte de service de ce même projet. Votre projet de staging ou de production n’a pas ce compte : aucun jeton ne peut être signé pour lui.
- Le droit de signer est un rôle de votre projet (Service Account Token Creator), donné au compte de service des tournages par la commande d’installation. Retirez-le et aucun jeton ne peut être signé.
- Utilisez un compte de démo fictif, sur un environnement aux données fictives.
Prêt à filmer
Section intitulée « Prêt à filmer »Le studio le vérifie avant chaque tournage : les réglages Firebase, la garde, le signataire et un uid pour chaque compte de démo. Une pièce manquante arrête le tournage avec la seule chose à corriger.
Autres services de connexion
Section intitulée « Autres services de connexion »Firebase Auth est le premier. Auth0, Supabase et Cognito ont la même idée (un jeton fait par votre backend) : dites-nous si vous en avez besoin.