Connexion Google et Apple
Laisse tes utilisateurs se connecter en un geste : configure Google Cloud et Apple Developer, pas à pas.
Ton app peut proposer Continuer avec Google et Se connecter avec Apple à côté de la connexion par e-mail. Bloxks écrit les boutons et le code ; toi, tu crées seulement les clés côté Google et côté Apple, puis tu les colles dans Bloxks. Compte environ 10 minutes pour chacun.
- Google marche sur iPhone et Android. Il ouvre une fenêtre Google sécurisée, puis revient dans ton app.
- Apple marche sur iPhone, avec le bouton officiel d’Apple. Sur Android, tes utilisateurs se connectent avec Google ou par e-mail.
Tout se passe dans Backend, puis Utilisateurs, puis Méthodes de connexion. Pour ajouter les boutons dans ton app, demande simplement dans le chat : « ajoute la connexion Google et Apple ».
Avant de commencer
Dans Backend, puis Utilisateurs, ouvre Google ou Apple : Bloxks affiche ton URL de callback, du type https://xxxx.supabase.co/auth/v1/callback. Garde-la sous la main, Google en a besoin.
Google, étape 1 : crée un projet Google Cloud
- Ouvre console.cloud.google.com et connecte-toi avec ton compte Google.
- En haut, clique sur le sélecteur de projet, puis New project (Nouveau projet). Donne-lui le nom de ton app et clique sur Create.
Google, étape 2 : configure l’écran de consentement
C’est la fenêtre que voient tes utilisateurs quand ils choisissent leur compte Google.
- Dans le menu, ouvre Google Auth Platform (tu peux le taper dans la barre de recherche), puis clique sur Get started.
- App information : le nom de ton app et un e-mail d’assistance.
- Audience : choisis External, pour que tout détenteur d’un compte Google puisse se connecter.
- Contact information : ton e-mail. Accepte le règlement et clique sur Create.
- Dans Branding, tu peux ajouter ton logo. Facultatif.
Ton app ne demande que le nom, l’e-mail et la photo de tes utilisateurs. Ces autorisations de base ne demandent aucune vérification de la part de Google.
Google, étape 3 : crée le client Web
- Dans Google Auth Platform, ouvre Clients, puis Create client.
- Application type : choisis Web application (oui, même pour une app mobile : la connexion passe par une fenêtre web sécurisée). Donne-lui un nom, par exemple « Bloxks ».
- Sous Authorized redirect URIs, clique sur Add URI et colle ton URL de callback Bloxks, telle quelle.
- Clique sur Create. Copie tout de suite le Client ID (il se termine par .apps.googleusercontent.com) et le Client secret : Google n’affiche le secret qu’une seule fois.
Pas besoin de client iOS ou Android, ni d’empreinte SHA-1.
Google, étape 4 : colle-le dans Bloxks
- Dans Backend, puis Utilisateurs, puis Méthodes de connexion, active Google.
- Colle le Web client ID et le Web client secret.
- Clique sur Enregistrer les méthodes de connexion.
Google, étape 5 : ouvre-le à tout le monde
Tant que ton écran de consentement est en Testing, seuls les testeurs que tu as listés (100 au maximum) peuvent se connecter ; les autres voient « Accès bloqué ». Quand ton app est prête :
- Dans Google Auth Platform, ouvre Audience.
- Clique sur Publish app, puis confirme.
Les changements côté Google peuvent mettre de 5 minutes à quelques heures à s’appliquer.
Apple, étape 1 : active Sign in with Apple
Il te faut un compte Apple Developer, le même que pour publier, avec le rôle Account Holder ou Admin.
- Retrouve ton Bundle Identifier dans Bloxks, dans la fenêtre Publier (du type com.tonnom.tonapp).
- Ouvre developer.apple.com/account, puis Certificates, Identifiers & Profiles, puis Identifiers.
- Clique sur l’identifiant de ton app. S’il n’existe pas encore, clique sur +, choisis App IDs, puis App, et tape ton Bundle Identifier à l’identique.
- Dans Capabilities, coche Sign in with Apple (garde Enable as a primary App ID), puis Save.
Apple, étape 2 : colle-le dans Bloxks
- Dans Backend, puis Utilisateurs, puis Méthodes de connexion, active Apple.
- Clique sur Enregistrer les méthodes de connexion.
Bloxks remplit tout seul le champ Bundle ID : ton Bundle Identifier dès qu’il est choisi dans Publier, plus host.exp.Exponent, qui permet de tester dans Expo Go. Rien à recopier.
C’est tout pour une app iPhone. La partie Connexion web (optionnel) (Services ID et secret) ne sert qu’à se connecter depuis un site web : laisse-la vide.
Teste pour de vrai
L’aperçu web ne peut pas ouvrir la connexion Google ou Apple : Bloxks te l’indique à l’écran. Teste sur ton téléphone :
- Google : dans Expo Go, sur iPhone ou Android, ou dans TestFlight.
- Apple : sur iPhone uniquement, dans Expo Go ou TestFlight.
Quand la connexion marche, le nouvel utilisateur apparaît dans Backend, puis Utilisateurs.
Les règles d’Apple à connaître
- Règle 4.8 : si ton app iPhone propose Google, elle doit aussi proposer une option équivalente qui ne demande que le nom et l’e-mail et permet de masquer son e-mail. Sign in with Apple fait exactement ça : propose-le à côté de Google, sinon ton app risque d’être refusée.
- Le bouton : le bouton officiel d’Apple (« Se connecter avec Apple » ou « Continuer avec Apple », noir ou blanc), pas plus petit que tes autres boutons de connexion et visible sans faire défiler.
- Le nom : Apple ne transmet le nom de l’utilisateur qu’à sa toute première connexion.
- E-mails masqués : un utilisateur peut masquer son e-mail ; tu reçois alors une adresse en @privaterelay.appleid.com. Pour lui écrire depuis ton propre domaine, ajoute ce domaine dans le réglage Sign in with Apple for Email Communication d’Apple (dans Certificates, Identifiers & Profiles, puis Services).
- Suppression de compte : une app qui crée des comptes doit permettre de supprimer le sien depuis l’app (règle 5.1.1(v)). Demande au chat : « ajoute un bouton supprimer mon compte ».
Si ça ne marche pas
- redirect_uri_mismatch : l’URI de ton client Web Google n’est pas exactement ton URL de callback. Recolle-la, sans espace ni barre oblique en trop.
- invalid_client ou deleted_client : le Client ID ou le secret est faux, ou le client a été supprimé. Bon à savoir : Google supprime un client resté inutilisé pendant 6 mois. Crées-en un nouveau (Google, étape 3).
- Accès bloqué ou application non validée : ton écran de consentement Google est encore en Testing (Google, étape 5).
- Provider is not enabled : l’interrupteur Google ou Apple est éteint, ou tu n’as pas cliqué sur Enregistrer les méthodes de connexion.
- Unacceptable audience in id_token (Apple) : le champ Bundle ID ne contient pas l’identifiant de ton app. Ouvre Backend, puis Utilisateurs, et clique à nouveau sur Enregistrer les méthodes de connexion : Bloxks ajoute ce qui manque.
- Le bouton Apple ne fait rien sur Android : normal, Sign in with Apple n’existe que sur iPhone.
Toujours bloqué ? Décris ce que tu vois dans le chat, avec le message d’erreur exact.