Pronto al Lancio

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

SintomoCausa probabileCosa fare
Invalid login credentialsPassword 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 confirmedLa conferma email è attiva e l'utente non ha cliccato il linkVerifica che l'email arrivi e prevedi un pulsante per reinviarla
Il link di conferma apre localhost:3000 o l'anteprimaL'indirizzo principale del sito non è aggiornatoImposta il dominio reale nelle impostazioni degli URL
Email link is invalid or has expiredLink già usato, scaduto o aperto da un filtro antispamRichiedi un nuovo link, valuta un codice numerico
L'email non arrivaServizio email predefinito con limiti molto strettiConfigura un servizio email (SMTP) tuo
Funziona in anteprima, non onlineIndirizzi di ritorno o variabili d'ambiente diversiAllinea le impostazioni del dominio di produzione
Logout a ogni aggiornamentoSessione non salvata o letta troppo tardiControlla come l'app legge la sessione all'avvio
Login con Google: Error 400: redirect_uri_mismatchL'indirizzo di ritorno non è autorizzato nella console di GoogleAggiungi 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.

  1. 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».
  2. Controlla l'utente. Nella dashboard del servizio di autenticazione cerca l'email dell'utente: esiste? Risulta confermato? Con quale metodo si è registrato?
  3. Guarda i log di autenticazione. Supabase, come altri servizi, registra i tentativi di accesso e gli errori. Spesso il motivo è scritto lì.
  4. Ispeziona il link nell'email. Copialo senza aprirlo e guardalo: a quale dominio punta? Contiene un parametro come redirect_to= con l'indirizzo giusto?
  5. 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 www se 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.

Domande frequenti

Vuoi che ci guardiamo noi?

Prenota una call gratuita di 20 minuti: ci racconti il problema, ti diciamo cosa serve e quanto costa. Senza impegno.

Prenota la call gratuita

Potrebbe interessarti anche