Salta al contenuto
supastack
Sfoglia la documentazione
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 /it/docs/web/google-sign-in.md (or send Accept: text/markdown).

Aggiungi l'accesso con Google

Crea un client OAuth di Google Cloud gratuito e collega «Continua con Google» all'app.

Procedura dettagliata per principianti

Prerequisiti: l'app web in esecuzione in locale (Online in 5 minuti) e un database migrato per account reali (Configura il database). Serve un normale account Google; tutto qui è gratuito e richiede circa 10 minuti.

Terminologia rapida: OAuth è lo standard con cui Google autentica l'utente sulla pagina di Google e consegna una prova alla tua app. Un progetto Google Cloud è un contenitore nella console di Google che custodisce le credenziali dell'app. La schermata di consenso OAuth è la pagina che Google mostra agli utenti prima di rimandarli indietro. Un client ID identifica la tua app presso Google; il client secret è la sua password e resta sul server.

1. Crea un progetto Google Cloud. 2. Configura la schermata di consenso. 3. Crea un client OAuth Web e copia ID e segreto. 4. Incolla tre valori in apps/web/.env.local e riavvia il dev server.

Un solo progetto basta per l'intero prodotto: lo stesso progetto Google Cloud ospiterà poi la tua distribuzione su Cloud Run, e l'accesso mobile passa per lo stesso backend web — non crei un client separato per piattaforma o funzionalità.

Creare il progetto Google Cloud

1. Apri console.cloud.google.com e accedi con il tuo account Google.

2. Fai clic sul menu a discesa del progetto nella barra in alto (accanto al logo di Google Cloud) e scegli New Project.

3. Assegnagli un nome — va bene il nome del prodotto — e fai clic su Create. Non servono organizzazione, carta né account di fatturazione per le credenziali di accesso.

Atteso: la console si ricarica nel nuovo progetto e il suo nome appare nella barra in alto. Riutilizza questo progetto quando raggiungerai la guida alla distribuzione invece di crearne un altro.

Creare il client OAuth

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

2. Imposta Application type su Web application e chiamalo ad esempio supastack local.

3. Sotto Authorized JavaScript origins aggiungi http://localhost:3000. Sotto Authorized redirect URIs aggiungi http://localhost:3000/api/auth/callback/google — quel percorso di callback appartiene a Better Auth, il motore di autenticazione predefinito del kit: {APP_URL}/api/auth/callback/google.

4. Fai clic su Create e copia il Client ID e il Client Secret dalla finestra di dialogo. Puoi riaprirli nella pagina del client più tardi, ma copiarli ora ti risparmia un passaggio.

Per la produzione crea un secondo client Web (consigliato) oppure aggiungi a questo: origine JavaScript https://yourdomain.com e URI di reindirizzamento https://yourdomain.com/api/auth/callback/google. Tenere client separati per ambiente significa che un segreto locale compromesso non può raggiungere la produzione.

Aggiungere i valori all'app

Apri apps/web/.env.local — Next.js legge questo file, non il .env di root — e inserisci le tre righe qui sotto. AUTH_GOOGLE_ENABLED=true accende il pulsante; la coppia client identifica il tuo client di Google Cloud.

Il client secret resta solo sul server: non deve mai apparire in una variabile NEXT_PUBLIC_ o EXPO_PUBLIC_ né essere committato su Git. In produzione imposta gli stessi tre nomi nell'archivio dei segreti del tuo host invece che in un file env.

Riavvia il dev server dopo la modifica — i cambiamenti all'ambiente vengono letti solo all'avvio.

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

Verificare e risolvere i problemi

Apri http://localhost:3000/auth, fai clic sul pulsante Google, completa la schermata di consenso di Google e conferma che l'app torna con l'accesso effettuato.

redirect_uri_mismatch significa che l'URI di reindirizzamento registrato su Google non corrisponde esattamente — ricontrolla il protocollo (http vs https), la porta e il percorso: deve finire con /api/auth/callback/google, non /callback/google/ né una variante con slash finale.

Access blocked / has not completed the Google verification process significa che la schermata di consenso è ancora in Testing e l'account che accede non è elencato sotto Test users — aggiungilo nella sezione Audience.

Se manca il pulsante Google o l'accesso continua a fallire dopo aver modificato .env.local, riavvia il dev server. Se l'avvio fallisce nominando una variabile, il flag è attivo senza la sua coppia client completa.

Per continuare la configurazione, leggi Aggiungi l'accesso con GitHub.

Domande frequenti

14 domande

Cos'è supastack?

supastack è una base modulare per costruire prodotti SaaS con AI. Riunisce l'infrastruttura comune così puoi concentrarti sulle funzionalità proprie del tuo prodotto.

Supporta web e mobile?

Sì. supastack include app Next.js ed Expo come punti di partenza per esperienze web e mobile.

Quale autenticazione è inclusa?

Better Auth copre email/password, OTP e login social. I workspace personali vengono provisionati con l'account così i record restano delimitati fin dal primo giorno.

Come è supportata l'AI?

supastack include AI multi-provider configurabile, tracciamento dell'uso, budget e supporto cifrato per le proprie chiavi (BYOK).

Come vengono gestiti gli abbonamenti?

Per i prodotti costruiti sul kit, fatturazione Stripe, abbonamenti e permessi formano la base dell'accesso a pagamento. I segreti dei provider restano lato server.

Dove vive il codice specifico del mio prodotto?

Le funzionalità specifiche del prodotto restano in un codebase separato, mentre il prodotto configura e integra i moduli base di supastack.

Come funziona il prezzo di supastack?

Il kit è un acquisto unico con aggiornamenti a vita: Un framework a 249 $ (prezzo di lancio temporaneo — 100 $ di sconto sul prezzo di listino di 349 $) oppure Tutti i framework (Next.js, iOS, Android) a 499 $ (prezzo di lancio temporaneo — 100 $ di sconto sul prezzo di listino di 599 $), più 75 $ per posto sviluppatore aggiuntivo. Nessun abbonamento al kit. Il checkout su questo sito consegna la tua chiave di licenza via email, con accesso al repo tramite invito GitHub.

Come delimitano i workspace i miei dati?

I record utente sono delimitati da workspaceId. Identità, permessi, uso AI, eventi di fatturazione e voci di audit restano dentro il confine del workspace personale.

Come funzionano i job in background?

Trigger.dev è il runtime di job esplicito. Il contratto JobRunner promette solo enqueue, status e cancel — la semantica di workflow resta specifica ed esplicita di Trigger.dev.

In cosa differisce l'email dall'outreach?

L'email transazionale copre i flussi di prodotto come gli avvisi di completamento delle attività. L'outreach a freddo e le campagne appartengono al prodotto, fuori dal modulo email di questo kit.

Come funzionano gli acquisti su mobile?

La versione mobile include acquisti nativi e ripristino tramite RevenueCat, con accesso verificato dal server. Configura gli account degli store e completa i test sui dispositivi prima della pubblicazione. I pagamenti web restano separati.

Dove risiedono le chiavi dei provider AI?

Le credenziali BYOK sono cifrate e restano lato server. Le chiavi vengono sanificate nei log; uso e budget restano visibili a livello di workspace.

Quali metodi di pagamento accetta il checkout?

Il checkout ospitato da Stripe accetta le carte e può offrire anche Alipay e WeChat Pay una volta attivati i wallet sull'account Stripe — utile per gli acquirenti in Cina. Le autorizzazioni dei wallet vengono confermate in modo asincrono, quindi la pagina della licenza si aggiorna non appena il pagamento va a buon fine.

Posso ottenere un rimborso?

Una volta ottenuto l'accesso al repository, supastack è tuo per sempre, quindi non può essere rimborsato. Ma non preoccuparti: ricevi il codice sorgente completo con aggiornamenti a vita per creare e lanciare prodotti illimitati per te o per i tuoi clienti. L'unica condizione è che non puoi rivendere il codice né ridistribuire il repository come starter kit o modello.

IT
Tema