Sicurezza · 6 min di lettura ·
Login non funziona nell'app creata con l'AI: cause e soluzioni
Il login della tua app creata con l'AI non funziona? Conferma email, reset password, redirect URL e sessioni: le cause più comuni e come risolverle passo passo.

Se il login non funziona nella tua app creata con l'AI, sei in buona compagnia. Utenti che non riescono a entrare, email di conferma che portano a una pagina sbagliata, link per il reset della password scaduti: spesso non è un bug misterioso, ma una configurazione da sistemare. Qui sotto trovi le cause più comuni degli errori di autenticazione, come riconoscerle e come correggerle senza indebolire la sicurezza.
Come funziona il login, in due parole
L'autenticazione è il controllo che verifica chi sei, di solito con email e password o con un account Google. Quando il controllo va a buon fine, l'app ti dà una sessione: una specie di braccialetto da concerto che il browser conserva e mostra a ogni richiesta, così non devi rifare il login a ogni pagina.
Molti flussi passano dall'email: conferma dell'account, reset della password, link di accesso senza password. Il servizio invia un link, l'utente ci clicca e viene rimandato all'app. L'indirizzo a cui viene rimandato si chiama redirect URL (indirizzo di ritorno). Se questo indirizzo è sbagliato, tutto il resto si inceppa.
Molte app create con Lovable, Bolt e strumenti simili usano Supabase per gestire l'autenticazione. Gli esempi qui sotto fanno riferimento a Supabase, ma i principi valgono anche per altri servizi.
Sintomo, causa e cosa fare
| Sintomo | Causa probabile | Cosa fare |
|---|---|---|
Invalid login credentials | Password sbagliata, utente inesistente o registrato con un altro metodo (per esempio Google) | Controlla l'utente nell'elenco degli utenti del servizio di autenticazione |
Email not confirmed | La conferma email è attiva e l'utente non ha cliccato il link | Verifica che l'email arrivi e prevedi un pulsante per reinviarla |
Il link di conferma apre localhost:3000 o l'anteprima | L'indirizzo principale del sito non è aggiornato | Imposta il dominio reale nelle impostazioni degli URL |
Email link is invalid or has expired | Link già usato, scaduto o aperto da un filtro antispam | Richiedi un nuovo link, valuta un codice numerico |
| L'email non arriva | Servizio email predefinito con limiti molto stretti | Configura un servizio email (SMTP) tuo |
| Funziona in anteprima, non online | Indirizzi di ritorno o variabili d'ambiente diversi | Allinea le impostazioni del dominio di produzione |
| Logout a ogni aggiornamento | Sessione non salvata o letta troppo tardi | Controlla come l'app legge la sessione all'avvio |
Login con Google: Error 400: redirect_uri_mismatch | L'indirizzo di ritorno non è autorizzato nella console di Google | Aggiungi l'indirizzo corretto nelle credenziali OAuth di Google |
Perché succede con le app fatte con l'AI
L'app nasce in un ambiente di anteprima, con un indirizzo provvisorio. Tutte le impostazioni di autenticazione vengono pensate per quell'indirizzo. Quando pubblichi l'app o colleghi un dominio tuo, quelle impostazioni restano indietro. Se sei a questo punto, leggi anche la guida per collegare un dominio all'app creata con l'AI.
C'è poi il tema delle email. Il servizio di invio predefinito di Supabase è pensato solo per le prove: senza un server email tuo, i messaggi arrivano solo agli indirizzi del team del progetto e con un limite orario molto basso. In anteprima, dove provi con la tua email, sembra tutto a posto. Con utenti veri, le email non partono.
Infine, quando qualcosa non va, l'AI tende a scegliere la scorciatoia: disattiva la conferma email, oppure salva nel browser un semplice «utente loggato: sì». Il login sembra funzionare, ma chiunque può fingersi loggato modificando quel valore.
Come capire dove si rompe
Prima di cambiare qualsiasi cosa, raccogli informazioni. Ti bastano pochi minuti.
- Leggi il messaggio d'errore esatto. Apri gli strumenti per sviluppatori del browser (
F12), scheda Console e scheda Network (o Rete), e riprova il login. Il messaggio preciso dice molto più di «non funziona». - Controlla l'utente. Nella dashboard del servizio di autenticazione cerca l'email dell'utente: esiste? Risulta confermato? Con quale metodo si è registrato?
- Guarda i log di autenticazione. Supabase, come altri servizi, registra i tentativi di accesso e gli errori. Spesso il motivo è scritto lì.
- Ispeziona il link nell'email. Copialo senza aprirlo e guardalo: a quale dominio punta? Contiene un parametro come
redirect_to=con l'indirizzo giusto? - Riprova in una finestra in incognito. Elimini l'effetto di sessioni vecchie e dati salvati.
Un consiglio pratico: fai le prove con un indirizzo email nuovo, non con il tuo account di sempre. Il tuo account è probabilmente già confermato e magari è stato creato con impostazioni diverse da quelle attuali. Così rischi di non vedere il problema che incontrano gli utenti appena arrivati.
Se l'app funziona in anteprima ma non dopo la pubblicazione, il problema spesso non riguarda solo il login: trovi le altre cause nella guida sull'app che funziona in anteprima ma non online.
Le correzioni più comuni
Site URL e redirect URL
In Supabase queste impostazioni si trovano nella sezione dell'autenticazione dedicata alla configurazione degli URL. Contano due valori:
- Site URL: l'indirizzo principale del sito, usato come destinazione predefinita. Deve essere il dominio reale, per esempio
https://www.tuodominio.it. - Redirect URLs: l'elenco degli indirizzi a cui il servizio può rimandare gli utenti. Aggiungi il dominio reale, la versione con e senza
wwwse le usi entrambe, ed eventualmente l'anteprima. Sono ammessi caratteri jolly, ma usali con prudenza.
Nel codice, l'indirizzo di ritorno non deve essere scritto a mano come localhost. Meglio costruirlo a partire dal sito in cui l'app sta girando:
await supabase.auth.signUp({
email,
password,
options: { emailRedirectTo: `${window.location.origin}/benvenuto` }
})
Reset della password
Un errore frequente: l'AI crea il pulsante «Password dimenticata?», ma non la pagina in cui scegliere la nuova password. L'utente clicca il link, finisce sulla home e non succede nulla. Servono entrambe le parti: la richiesta del link, con l'indirizzo della pagina giusta, e una pagina che riceve l'utente e salva la nuova password.
Se i link risultano già scaduti al primo clic, il colpevole può essere un filtro di sicurezza della posta che apre i link per controllarli. In quel caso un codice numerico da inserire nell'app è più affidabile del link.
Conferma email
Non disattivare la conferma solo per far funzionare le cose. Prima configura un servizio email tuo, con un dominio mittente verificato. Trovi i passaggi nella guida sulle email che non arrivano.
Sessioni e pagine protette
L'app deve leggere la sessione all'avvio e aspettare di averla caricata prima di decidere se mostrare una pagina riservata. Il controllo vero, però, deve stare anche lato server: le regole del database devono rifiutare le richieste di chi non ha fatto login, qualunque cosa mostri l'interfaccia.
Login con Google e altri provider
Le impostazioni sono due, in due posti diversi. Nella console del provider (per esempio Google) va autorizzato l'indirizzo di ritorno del servizio di autenticazione. Nel servizio di autenticazione va autorizzato l'indirizzo della tua app. Se manca uno dei due, compare un errore di indirizzo non valido.
Quando conviene farti aiutare
Se il problema era un indirizzo da aggiornare, probabilmente lo hai già risolto. Conviene chiedere aiuto se i problemi tornano a ogni modifica, se l'AI ha introdotto scorciatoie che non sai valutare, oppure se il login regge l'accesso a dati personali o pagamenti.
Di solito ripercorriamo l'intero flusso, dalla registrazione al reset della password, sistemiamo le impostazioni e verifichiamo che le protezioni lato server reggano. Se vuoi una mano, prenota una call gratuita.


