Aller au contenu
supastack
Parcourir la documentation
WebNext.js

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /fr/docs/web/google-sign-in.md (or send Accept: text/markdown).

Ajouter la connexion Google

Créez un client OAuth Google Cloud gratuit et branchez « Continuer avec Google » dans l'app.

Parcours pas à pas pour débuter

Prérequis : l'app web qui tourne en local (En ligne en 5 minutes) et une base de données migrée pour de vrais comptes (Configurer la base de données). Il vous faut un compte Google ordinaire ; tout ici est gratuit et prend environ 10 minutes.

Quelques termes : OAuth est le standard où Google connecte l'utilisateur sur la page de Google et remet une preuve à votre app. Un projet Google Cloud est un conteneur dans la console de Google qui détient les identifiants de votre app. L'écran de consentement OAuth est la page que Google montre aux utilisateurs avant de les renvoyer. Un ID client identifie votre app auprès de Google ; le secret client est son mot de passe et reste sur le serveur.

1. Créez un projet Google Cloud. 2. Configurez l'écran de consentement. 3. Créez un client OAuth Web et copiez son ID et son secret. 4. Collez trois valeurs dans apps/web/.env.local et redémarrez le serveur de dev.

Un seul projet suffit pour tout le produit : le même projet Google Cloud hébergera plus tard votre déploiement Cloud Run, et la connexion mobile passe par le même backend web — vous ne créez pas un client séparé par plateforme ou par fonctionnalité.

Créer le projet Google Cloud

1. Ouvrez console.cloud.google.com et connectez-vous avec votre compte Google.

2. Cliquez sur la liste déroulante de projet dans la barre du haut (à côté du logo Google Cloud) et choisissez New Project.

3. Donnez-lui un nom — le nom de votre produit convient — et cliquez sur Create. Aucune organisation, carte ni compte de facturation n'est nécessaire pour des identifiants de connexion.

Attendu : la console se recharge dans le nouveau projet et son nom apparaît dans la barre du haut. Réutilisez ce projet quand vous atteindrez le guide de déploiement au lieu d'en créer un autre.

Créer le client OAuth

1. Ouvrez APIs & Services → Credentials → + Create Credentials → OAuth client ID.

2. Réglez Application type sur Web application et nommez-le par exemple supastack local.

3. Sous Authorized JavaScript origins, ajoutez http://localhost:3000. Sous Authorized redirect URIs, ajoutez http://localhost:3000/api/auth/callback/google — ce chemin de rappel appartient à Better Auth, le moteur d'authentification par défaut du kit : {APP_URL}/api/auth/callback/google.

4. Cliquez sur Create et copiez l'ID client et le secret client dans la boîte de dialogue. Vous pourrez les rouvrir sur la page du client plus tard, mais les copier maintenant économise une étape.

Pour la production, créez un deuxième client Web (recommandé) ou ajoutez à celui-ci : origine JavaScript https://yourdomain.com et URI de redirection https://yourdomain.com/api/auth/callback/google. Garder des clients séparés par environnement signifie qu'un secret local compromis ne peut pas atteindre la production.

Ajouter les valeurs à l'app

Ouvrez apps/web/.env.local — Next.js lit ce fichier, pas le .env racine — et renseignez les trois lignes ci-dessous. AUTH_GOOGLE_ENABLED=true active le bouton ; la paire client identifie votre client Google Cloud.

Le secret client reste côté serveur : il ne doit jamais apparaître dans une variable NEXT_PUBLIC_ ou EXPO_PUBLIC_ ni être committé sur Git. En production, renseignez les trois mêmes noms dans le magasin de secrets de votre hébergeur plutôt que dans un fichier env.

Redémarrez le serveur de dev après modification — les changements d'environnement ne sont lus qu'au démarrage.

# apps/web/.env.local
AUTH_GOOGLE_ENABLED=true
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret

Vérifier et dépanner

Ouvrez http://localhost:3000/auth, cliquez sur le bouton Google, terminez l'écran de consentement de Google et confirmez que l'app revient connectée.

redirect_uri_mismatch signifie que l'URI de redirection enregistrée chez Google ne correspond pas exactement — vérifiez le protocole (http vs https), le port et le chemin : il doit finir par /api/auth/callback/google, pas /callback/google/ ni une variante avec slash final.

Access blocked / has not completed the Google verification process signifie que l'écran de consentement est encore en Testing et que le compte qui se connecte n'est pas listé sous Test users — ajoutez-le dans la section Audience.

Si le bouton Google est absent ou si la connexion échoue encore après avoir modifié .env.local, redémarrez le serveur de dev. Si le démarrage échoue en nommant une variable, le flag est activé sans sa paire client complète.

Pour poursuivre la configuration, consultez Ajouter la connexion GitHub.

Questions fréquentes

14 questions

Qu'est-ce que supastack ?

supastack est une fondation modulaire pour construire des produits SaaS avec IA. Elle réunit l'infrastructure commune pour que vous puissiez vous concentrer sur les fonctionnalités propres à votre produit.

Prend-il en charge le web et le mobile ?

Oui. supastack inclut des applications Next.js et Expo comme points de départ pour des expériences web et mobile.

Quelle authentification est incluse ?

Better Auth couvre e-mail/mot de passe, OTP et connexion sociale. Les espaces de travail personnels sont provisionnés avec le compte pour que les enregistrements restent délimités dès le premier jour.

Comment l'IA est-elle prise en charge ?

supastack inclut une IA multi-fournisseurs configurable, le suivi d'usage, des budgets, et la prise en charge chiffrée de vos propres clés (BYOK).

Comment les abonnements sont-ils gérés ?

Pour les produits construits sur le kit, la facturation Stripe, les abonnements et les droits d'accès forment la base de l'accès payant. Les secrets fournisseur restent côté serveur.

Où vit le code propre à mon produit ?

Les fonctionnalités propres au produit restent dans un codebase séparé, tandis que le produit configure et intègre les modules de la fondation supastack.

Comment fonctionne la tarification de supastack ?

Le kit est un achat unique avec mises à jour à vie : Un framework à 249 $ (prix de lancement temporaire — 100 $ de réduction par rapport au prix habituel de 349 $) ou Tous les frameworks (Next.js, iOS, Android) à 499 $ (prix de lancement temporaire — 100 $ de réduction par rapport au prix habituel de 599 $), plus 75 $ par siège développeur supplémentaire. Pas d'abonnement au kit. Le paiement sur ce site livre votre clé de licence par e-mail, avec accès au dépôt via invitation GitHub.

Comment les espaces de travail délimitent mes données ?

Les enregistrements appartenant aux utilisateurs sont délimités par workspaceId. Identité, droits d'accès, usage IA, événements de facturation et entrées d'audit restent dans le périmètre de l'espace personnel.

Comment fonctionnent les jobs en arrière-plan ?

Trigger.dev est le runtime de jobs explicite. Le contrat JobRunner ne promet que enqueue, status et cancel — la sémantique de workflow reste propre à Trigger.dev et explicite.

En quoi l'e-mail diffère-t-il de la prospection ?

L'e-mail transactionnel couvre les flux produit comme les avis de fin de tâche. La prospection à froid et les campagnes relèvent du produit, hors du module e-mail de ce kit.

Comment fonctionnent les achats sur mobile ?

Le mobile inclut les achats natifs et leur restauration via RevenueCat, avec un accès vérifié par votre serveur. Configurez les comptes des boutiques et terminez les tests sur appareil avant publication. La facturation web reste séparée.

Où vivent les clés des fournisseurs IA ?

Les identifiants BYOK sont chiffrés et restent côté serveur. Les clés sont masquées dans les journaux ; l'usage et les budgets restent visibles au niveau de l'espace de travail.

Quels moyens de paiement le checkout accepte-t-il ?

Le checkout hébergé par Stripe accepte les cartes et peut aussi proposer Alipay et WeChat Pay une fois ces portefeuilles activés sur le compte Stripe — pratique pour les acheteurs en Chine. Les autorisations de portefeuille se confirment de manière asynchrone : la page de licence se met à jour dès que le paiement est validé.

Puis-je obtenir un remboursement ?

Une fois que vous avez accès au dépôt, supastack vous appartient pour toujours et ne peut donc pas être remboursé. Mais rassurez-vous : vous obtenez le code source complet avec des mises à jour à vie pour créer et déployer un nombre illimité de produits pour vous ou vos clients. Vous ne pouvez simplement pas revendre le code ni redistribuer le dépôt sous forme de kit de démarrage ou de modèle.

FR
Thème