Die meisten KI-gebauten Apps melden Nutzer mit Supabase an (Lovable, Bolt, v0 und viele Apps aus Cursor oder Claude Code), mit Firebase (Antigravity), Clerk oder dem eigenen Login des Builders (Replit, Base44). Die Anbieterseiten behandeln jeden ausführlich: Supabase-Probleme, Firebase-Probleme. Diese Seite behandelt, was generierte Apps noch hinzufügen.
Es funktioniert bei dir, und sonst bei niemandem
Du hast die App gebaut, also bist du im Team des Supabase-Projekts, wahrscheinlich noch angemeldet und testest auf der Domain, die dir der Builder gezeigt hat. Ein Tester hat nichts davon:
- Der E-Mail-Dienst schreibt nur dir. Der eingebaute Versand von Supabase liefert nur an das Projektteam, höchstens 2 E-Mails pro Stunde. Richte eigenes SMTP ein. Prüfe bei Lovable Cloud die Versandlimits in den Auth-Einstellungen.
- Du bist bereits angemeldet. Eine kaputte Registrierung sieht für jemanden mit Sitzung trotzdem gut aus. Teste in einem privaten Fenster, mit einer Adresse, die noch nie verwendet wurde.
Der Link öffnet die Vorschau oder localhost
Der Link der E-Mail wird aus der Einstellung für die öffentliche Adresse der App gebildet. Steht sie noch auf http://localhost:3000 oder auf einem Vorschaulink, der sich beim nächsten Deploy geändert hat, landen Nutzer auf einer Seite, die sich nicht öffnet. Bei Lovable Cloud setzt Lovable sie beim Veröffentlichen, sofern du keine eigene gesetzt hast; bei deinem eigenen Supabase-Projekt ist es die Site URL. Setze sie auf die veröffentlichte Domain und trage Vorschauen unter Redirect URLs ein. Mehr unter warum E-Mails auf localhost verlinken. Proxy Mail QA markiert solche Links in der Zeile der Adresse.
Ein Klick auf den Link meldet niemanden an
Der Link bringt einen Code zurück in deine App, und eine Seite muss ihn gegen eine Sitzung tauschen. Generierte Apps schicken den Link oft auf die Startseite, die den Code ignoriert, also kommt die Person abgemeldet an und glaubt, es hat nicht geklappt. Bitte um eine Seite, die die Anmeldung abschließt (oft /auth/callback), und lass den Link der E-Mail darauf zeigen. Bei Supabase sollten Tester den Link in dem Browser öffnen, in dem sie sich registriert haben: warum.
„Prüfe deine E-Mails“, egal was passiert ist
Generierte Registrierungsformulare zeigen oft dieselbe Erfolgsmeldung, egal was der Anbieter geantwortet hat. Dahinter steckt:
- Die Adresse hat bereits ein Konto. Supabase antwortet, als hätte die Registrierung geklappt, und sendet nichts, damit nicht verraten wird, wer ein Konto hat. Die App sollte sagen: „Wenn die Adresse neu ist, haben wir dir einen Link geschickt. Schon registriert? Melde dich an oder setze dein Passwort zurück.“
- Es war zu früh. Eine zweite Anfrage innerhalb von 60 Sekunden wird abgelehnt, und die App verbirgt den Fehler.
- Die E-Mail-Bestätigung ist aus. Das Konto wurde erstellt und angemeldet, ganz ohne E-Mail.
Bitte den Builder, den Fehler des Anbieters anzuzeigen, wenn es einen gibt, und die Erfolgsmeldung so zu formulieren, dass sie in jedem Fall stimmt.
Die Reset-E-Mail führt ins Leere
Ein Link zum Zurücksetzen des Passworts meldet die Person an, dann muss die App ein Formular „Neues Passwort wählen“ zeigen. Generierte Apps lassen diese Seite oft weg, also ist die Person mit ihrem alten Passwort angemeldet und kann es nicht ändern. Bitte um eine Reset-Seite, die der Link öffnet, und teste sie von Anfang bis Ende: E-Mails zum Zurücksetzen des Passworts testen.
Formulare, die echte Menschen abweisen oder schlechte Daten durchlassen
- Zu streng: Manche generierten Formulare lehnen Adressen mit
+, Großbuchstaben oder einer neueren Domain-Endung wie.devab, oder Namen mit Apostroph. Ungewöhnliche Adressen und ungewöhnliche Namen und Passwörter listen auf, was du ausprobieren kannst. - Zu locker: Das Formular akzeptiert einen Wert, den die Datenbank nicht annimmt, und die Registrierung schlägt mit „Database error saving new user“ fehl, wenn die
profiles-Tabelle der App ihn ablehnt. Ein Name mit 255 Zeichen oder ein leerer Benutzername deckt das auf.
Die Bestätigung wurde beim Bauen ausgeschaltet
Builder schalten die E-Mail-Bestätigung manchmal aus, damit die Registrierung schneller zu testen ist, und beim Launch bleibt sie aus. Dann kann sich jeder mit einer Adresse registrieren, die ihm nicht gehört, und du siehst nie, ob die Bestätigungs-E-Mail funktioniert. Schalte sie wieder ein, bevor du die App teilst, und teste sie mit einer Adresse, die E-Mails empfängt.
Der Agent sagt, er ist fertig
Ein Coding-Agent prüft, ob das Formular abgeschickt wird, nicht ob die E-Mail ankommt oder ihr Link funktioniert. Verbinde den Proxy Mail QA MCP server und bitte ihn, sich mit einer neuen Adresse zu registrieren, auf den Code oder Link zu warten und die Registrierung abzuschließen. Er liest nur den Code oder Link, nie den Text der E-Mail.
Prompts zum Kopieren für deinen Builder
Check our login setup: list every email the app sends (sign-up confirmation, magic link, password reset, email change), which service sends it, and the page each link opens. Flag any link built from localhost or a preview address, and any link that opens a page that doesn't finish signing in.Add a page that finishes sign-in when someone opens the link in a confirmation or magic-link email, and a page to choose a new password after a reset link. Point the email links at them.On sign-up, show the error the login service returns, if any. When it succeeds, say: "If that address is new, we've sent a link. Already signed up? Sign in or reset your password." Never say an email was sent when it wasn't.Die Anleitung für deinen Builder
Jede behandelt die eigenen Login-Optionen und Einstellungen: Lovable, Bolt, v0, Replit, Base44, Antigravity, Cursor und Claude Code. Nicht sicher, welchen Login deine App nutzt? Login-Methoden im Vergleich.