Prijava korisnika bez rupa: Supabase, Clerk, Better Auth
Izbor sistema za prijavu u aplikaciji napravljenoj uz AI: cene, besplatni nivoi, evropski region i četiri greške koje prave aplikacije otvorenim.
Izaberi iznos ili skeniraj kod bez iznosa pa ga upiši u banci. Novac ide direktno na račun autora (GoSimple), Trek ne uzima ništa i nije posrednik u plaćanju.
Na telefonu: preuzmi kod, pa ga u aplikaciji banke učitaj iz galerije.
Ažurirano: 12.10.2026. | Verzija 1.0
Prijava izgleda kao rešen problem: ubacite gotov sistem i gotovo. U praksi je to mesto gde aplikacije napravljene uz AI najčešće puknu, jer provera završi na pogrešnoj strani, a poneki popularan servis uopšte nema evropski region.
Evo šta birate i šta da proverite, sa cenama od 12.10.2026.
Četiri greške koje prave rupu
1. Provera samo u pregledaču
Sakrijete dugme i mislite da je gotovo. Adresa i dalje radi ako je neko otkuca.
Zvanična Next.js dokumentacija je ovde nedvosmislena: provera u posredničkom sloju je koristan prvi filter, ali ne sme da bude jedina odbrana, a većina provera treba da bude što bliže samim podacima. Izričito navode i da uobičajeni obrazac u kojem komponenta vrati prazno kad korisnik nije prijavljen nije preporučen, jer aplikacija ima više ulaza, pa to ne zaustavlja ugnježdene delove ni serverske akcije.
Pravilo: svaku serversku akciju i svaku rutu tretirajte kao javno dostupnu i u njoj posebno proverite ko je korisnik.
2. Verovanje kolačiću bez provere
Ovo je najtiša rupa. Postoji način da se stanje prijave pročita iz kolačića bez provere kod servera. Brz je i primamljiv.
Supabase u svojoj dokumentaciji piše doslovno da se takvom čitanju nikad ne sme verovati u serverskom kodu, jer čita iz kolačića bez ponovne provere, i da svako može da falsifikuje taj kolačić, pa verovanje bez provere omogućava napadaču da prikaže tuđu stranu.
Pažnja i na terminologiju: njihova aktuelna preporuka je metod koji proverava tvrdnje iz tokena. Starije uputstvo koje svuda kruži pominje drugi naziv metode. Ako pišete po tekstu od pre godinu dana, pišete zastarelo.
3. Tajni ključ u pregledaču
Ključ koji zaobilazi sva pravila pristupa završi u kodu koji se šalje korisniku. Najčešći uzrok je prefiks u imenu promenljive koji alat za pakovanje prepozna kao javan.
4. Poruka koja odaje da nalog postoji
Ako na pogrešnu lozinku kažete jedno, a na nepostojeći nalog drugo, upravo ste nekome potvrdili koje adrese postoje kod vas. Preporuka je ista poruka u oba slučaja, i formulacija tipa „ako ta adresa postoji kod nas, poslali smo uputstvo". Vredi znati da i vreme odgovora i statusni kod mogu da odaju istu informaciju.
Šta da izaberete
| Supabase Auth | Clerk | Better Auth | Auth0 | |
|---|---|---|---|---|
| Besplatno | 50.000 korisnika mesečno | 50.000, uz njihov natpis | besplatno, otvoren kod | 25.000 korisnika |
| Prvi plaćeni | uključeno u Pro, 25 USD | 25 USD (20 godišnje) | nema, sami hostujete | od 35 USD |
| Dvostruka provera | da, i na besplatnom | samo na plaćenom | da, kroz dodatak | ne na besplatnom |
| Evropski region | da, Frankfurt i drugi | nema ga | gde god je vaša baza | da, bira se pri osnivanju |
| Sami hostujete | da | ne | da | ne |
Clerk je najprijatniji za rad, ali nema evropski region. Na njihovoj strani o bezbednosti stoji da hosting ide iz Sjedinjenih Država, a prenos podataka korisnika iz Evrope se oslanja na okvir za prenos podataka. U njihovom tekstu o spremnosti za velike klijente, evropski region je naveden kao stavka koja tek treba da dođe. Ako vam je EU uslov, to je kraj razgovora.
Dodatno, na besplatnom nivou kod Clerk-a nema dvostruke provere identiteta i ne može se ukloniti njihov natpis. Isto pravilo o dvostrukoj proveri važi i kod Auth0.
Ako već koristite NextAuth, znajte ovo: Auth.js je od septembra 2025. deo projekta Better Auth, a Better Auth se u julu 2026. pridružio Vercel-u. Njihov zvanični opis sada preporučuje da novi projekti krenu od Better Auth-a. To nisu dva takmaca nego jedan put nadogradnje.
U julu 2026. objavljena su i četiri bezbednosna upozorenja za NextAuth, od kojih su dva visokog stepena: jedno u vezi sa normalizacijom adrese e-pošte koje je omogućavalo zaobilaženje preko sličnih znakova, i jedno sa neuhvaćenom greškom pri neispravnom zaglavlju. Ako ga koristite, proverite da ste na novijoj verziji.
Kako da proverite svoju prijavu za petnaest minuta
- Otvorite anonimni prozor i otkucajte adresu stranice koja traži prijavu. Ako se otvori, provera je na pogrešnom mestu.
- Prijavite se kao korisnik A, pa u adresi promenite identifikator u korisnika B. Ako vidite tuđe podatke, nema provere vlasništva.
- Pogledajte izvorni kod strane i potražite ključeve.
- Probajte prijavu sa nepostojećom adresom i uporedite poruku sa onom za pogrešnu lozinku.
- Probajte deset puta pogrešnu lozinku. Ako ništa ne uspori i ne zaključa, nema ograničenja pokušaja.
Dve stavke koje se zaborave
Slanje pošte. Supabase ugrađeni pošiljalac dozvoljava dve poruke na sat po projektu i njihova dokumentacija izričito kaže da nije namenjen produkciji. Ako to ne zamenite sopstvenim pošiljaocem, potvrde registracije jednostavno neće stizati. Dodatno, od juna 2026. novi besplatni projekti na podrazumevanom pošiljaocu ne mogu ni da menjaju izgled tih poruka.
Trajanje sesije. Kod Supabase-a pristupni token traje sat vremena, a token za obnovu je jednokratan, uz kratak razmak u kojem se tolerише ponovna upotreba. Ako se isti token upotrebi mimo toga, cela sesija se gasi. Kod Clerk-a token traje svega 60 sekundi i obnavlja se u pozadini, što znači da povučena sesija umire za oko minut.
Preporuka
- Pravite aplikaciju uz AI alat i već ste na Supabase-u: koristite njihovu prijavu. Jedno mesto manje za grešku, a dvostruka provera je dostupna i besplatno.
- Hoćete najlepše gotove ekrane i EU vam nije uslov: Clerk, uz svest o ceni i natpisu na besplatnom nivou.
- Podaci moraju da ostanu u EU, a imate programera: Better Auth, jer podaci žive u vašoj bazi.
- Veliki klijent traži prijavu preko njihovog sistema: Auth0 ili Clerk na poslovnom nivou, s tim da se kod Auth0 region bira pri osnivanju i posle se ne menja.
Česta pitanja
Da li je dovoljno da sakrijem dugme za administraciju? Nije. Provera mora da postoji i na serveru, u svakoj akciji i na svakoj ruti.
Koji sistem za prijavu je besplatan? Supabase Auth do 50.000 korisnika, Clerk do 50.000 uz natpis i bez dvostruke provere, Better Auth je besplatan jer ga sami hostujete.
Da li Clerk ima evropski region? Nema. Hosting je u SAD, a prenos podataka iz Evrope se oslanja na okvir za prenos. Za zahtev da podaci ostanu u EU to nije rešenje.
Šta je bilo sa NextAuth-om? Od septembra 2025. je deo projekta Better Auth, koji je u julu 2026. pripojen Vercel-u. Novim projektima se preporučuje Better Auth.
Zašto moji mejlovi za potvrdu ne stižu? Ako koristite Supabase ugrađeni pošiljalac, on je ograničen na dve poruke na sat i nije za produkciju. Podesite sopstvenog pošiljaoca.
Sledeći korak
Prođite pet provera iz ovog teksta na svojoj aplikaciji. Ako naiđete na problem sa pristupom podacima, nastavite na tekst o pravilima pristupa bazi.
GoSimple · Ivan Dabetić
Izvori (provereno 12.10.2026)
- Next.js, gde idu provere: https://nextjs.org/docs/app/guides/authentication
- Supabase, serverska prijava i upozorenje o kolačiću: https://supabase.com/docs/guides/auth/server-side/nextjs
- Supabase, ograničenja ugrađenog pošiljaoca: https://supabase.com/docs/guides/auth/rate-limits
- Supabase, sesije i tokeni: https://supabase.com/docs/guides/auth/sessions
- Supabase, cene: https://supabase.com/pricing
- Clerk, cene: https://clerk.com/pricing
- Clerk, bezbednost i lokacija podataka: https://clerk.com/security
- Better Auth, spajanje sa Auth.js: https://better-auth.com/blog/authjs-joins-better-auth
- NextAuth, bezbednosna upozorenja: https://github.com/nextauthjs/next-auth/security
- Auth0, cene: https://auth0.com/pricing
- OWASP, preporuke za prijavu: https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html