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/github-sign-in.md (or send Accept: text/markdown).

Aggiungi l'accesso con GitHub

Crea una OAuth App di GitHub per ambiente e collega «Continua con GitHub» all'app.

Procedura dettagliata per principianti

Prerequisiti: l'app web in esecuzione in locale e un database migrato per account reali. Serve un account GitHub — va bene quello che possiede il repository. Gratuito, circa 5 minuti per ambiente.

Terminologia rapida: una OAuth App di GitHub è la registrazione che permette a GitHub di autenticare gli utenti per te. A differenza della maggior parte dei provider, una OAuth App consente esattamente una Authorization callback URL — quindi locale (http://localhost:3000/…) e produzione (https://yourdomain.com/…) hanno bisogno ciascuna della propria app. Riutilizzare un'app modificando il suo callback da un lato all'altro rompe un lato ogni volta.

1. Crea una OAuth App locale nelle Developer settings del tuo account. 2. Copia il suo Client ID e genera un Client Secret. 3. Imposta i tre valori di ambiente e riavvia. 4. Ripeti una volta con il tuo dominio reale prima di andare online.

Creare l'OAuth App locale

1. Apri github.com e accedi. Fai clic sulla tua foto profilo in alto a destra → Settings.

2. Scorri fino in fondo alla barra laterale sinistra e apri Developer settings → OAuth Apps → New OAuth App.

3. Application name: ad esempio supastack local — gli utenti vedono questo nome nella pagina di autorizzazione di GitHub. Homepage URL: http://localhost:3000. Authorization callback URL: http://localhost:3000/api/auth/callback/github. Fai clic su Register application.

4. Nella pagina dell'app copia il Client ID, fai clic su Generate a new client secret e copia subito il segreto — GitHub lo mostra solo una volta, anche se puoi sempre generarne un altro.

Creare l'OAuth App di produzione

Ripeti gli stessi passaggi di New OAuth App con il nome del prodotto, Homepage URL https://yourdomain.com e Authorization callback URL https://yourdomain.com/api/auth/callback/github.

Conserva le credenziali di ogni app nel proprio ambiente: la coppia dell'app locale vive in apps/web/.env.local, quella dell'app di produzione nell'archivio dei segreti del tuo host. Il segreto locale non deve mai raggiungere la configurazione di produzione né viceversa.

Aggiungere i valori all'app

Inserisci le tre righe qui sotto in apps/web/.env.local usando le credenziali dell'app locale. AUTH_GITHUB_ENABLED=true accende il pulsante; la coppia identifica l'OAuth App.

Il client secret resta solo sul server — mai in variabili NEXT_PUBLIC_/EXPO_PUBLIC_ e mai committato. Riavvia il dev server dopo la modifica.

Non riutilizzare i valori GITHUB_APP_* che potresti vedere altrove — appartengono a un'integrazione GitHub App senza relazione, non all'accesso degli utenti. Il docs/github-auth-setup.md del kit percorre l'intero flusso dall'inizio alla fine se vuoi un secondo riferimento.

# apps/web/.env.local — from the LOCAL OAuth App
AUTH_GITHUB_ENABLED=true
GITHUB_CLIENT_ID=your-oauth-app-client-id
GITHUB_CLIENT_SECRET=your-oauth-app-secret

Verificare e risolvere i problemi

Apri http://localhost:3000/auth e fai clic sul pulsante GitHub. Autorizza l'app su github.com e conferma che torni con l'accesso effettuato.

Finché AUTH_GITHUB_ENABLED=true non è impostato, l'opzione GitHub su /auth resta visibile ma disabilitata — ricontrolla i nomi del file env e riavvia. Impostare il flag senza GITHUB_CLIENT_ID e GITHUB_CLIENT_SECRET fa fallire l'avvio e nomina la variabile mancante.

Un callback non corrispondente è il fallimento abituale: l'Authorization callback URL dell'app deve essere esattamente {APP_URL}/api/auth/callback/github — protocollo, host, porta e percorso. Un errore redirect_uri dopo la distribuzione di solito significa che la richiesta ha toccato le credenziali dell'app locale mentre APP_URL dice produzione, o il contrario.

Riavvia il dev server dopo ogni modifica all'env; i valori vengono letti solo all'avvio.

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

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