Gambaran umum
Better Auth — tautan ajaib, OTP email, Google, GitHub, dan Apple.
TurboJet menyertakan stack autentikasi lengkap yang didukung Better Auth. Data pengguna ada di PostgreSQL Anda lewat adapter Prisma — kontrol penuh tanpa Auth0 atau Clerk.
Konfigurasi ada di packages/auth/src/index.ts:
- Adapter Prisma ke PostgreSQL
- Field user tambahan:
hasOnboarded,role,isBanned,mobile trustedOrigins/allowedDevOrigins: URL SaaS + marketing (+ app), plushttps://appleid.apple.comuntuk Sign in with Apple
Host ini vs kit penuh
Checkout ini hanya memuat marketing dan docs. UI login/signup dan
mount /api/auth ada di app SaaS pada monorepo TurboJet penuh. Arahkan
BETTER_AUTH_URL, NEXT_PUBLIC_SAAS_URL, dan NEXT_PUBLIC_APP_URL ke
origin yang memasang Better Auth. Lihat Environment dan
Deployment.
Metode masuk
Pada UI auth SaaS (kit penuh), layout-nya:
- Baris sosial: Apple / Google / GitHub (tombol hanya muncul jika provider dikonfigurasi)
- Tab: Tautan ajaib | OTP
Password, passkey, dan guest tidak disertakan.
Tautan ajaib
Masuk mengirim email Resend (MagicLinkSignIn — lihat Email). Setelah tautan diklik, Better Auth mengalihkan ke callback URL di origin SaaS (biasanya /dashboard).
Batas laju /magic-link/*: 3 permintaan per jam.
OTP email
Memakai plugin Better Auth emailOTP:
- Kirim kode 6 digit (
type: "sign-in") - Pengguna memasukkan kode
- Selesaikan masuk dengan
signIn.emailOtp
Email OTP memakai EmailOtpSignIn (Email). Kode kedaluwarsa 5 menit (5 percobaan). Batas laju /email-otp/*: 5 permintaan per jam.
Panduan
Pengguna dan sesi
getSessionFromHeaders, authClient, SafeSession.
OAuth
Google, GitHub, Apple, dan menambah provider.
Admin
Role.ADMIN, Prisma Studio, dan API admin.
Melindungi endpoint API
requireAuth, requireAdmin, sesi opsional.
Pertanyaan yang sering diajukan
Library autentikasi apa yang dipakai TurboJet?
Better Auth. Sesi dan pengguna disimpan di database Anda lewat Prisma.
Bisakah memakai Google, GitHub, atau Apple?
Ya. Google wajib; GitHub dan Apple opsional lewat variabel lingkungan. Lihat OAuth.
Apakah TurboJet mendukung magic link atau login tanpa password?
Ya. Magic link dan OTP email adalah kelas utama. Login berbasis password tidak disertakan di kit ini.
Bagaimana melindungi route API?
Pakai middleware Hono (requireAuth, requireAdmin) — lihat Melindungi endpoint API. Tidak ada lapisan Permix di kit ini.