Better-Auth - Full Guide (OAuth, Emails, Roles, Hooks, Authorization, Prisma, Next.js 15, Resend)
Coding in Flow
0:00 / 0:00
Better-Auth - Full Guide (OAuth, Emails, Roles, Hooks, Authorization, Prisma, Next.js 15, Resend)
44 234 просмотра · 1 г. назад
Coding in Flow
290 тыс. подписчиков
44 234 просмотра · 1 г. назад
Learn authentication with Better-Auth in Next.js! We will cover:
What makes Better-Auth better than its alternatives
How to set up Better-Auth with Prisma and PostgreSQL
How to use plugins in Better-Auth
How to add email & password login
How to add social login (OAuth) with Google and GitHub
How to add roles and handle authorization
How to protect pages with unauthorized.tsx and forbidden.tsx
How to send transactional emails like verification and password reset emails with Resend
How to use hooks to enforce custom password validation rules
How to update user data like profile image, username, password, and email
Important best practices like SSR and caching
How to deploy your Better-Auth project to Vercel
And much more!
Links & files:
Starting code: https://github.com/codinginflow/bette...
Final code: https://github.com/codinginflow/bette...
Prisma + Better-Auth setup guide: https://pris.ly/betterauth-nextjs
lib/prisma.ts: https://github.com/codinginflow/bette...
Get your domain at Namecheap: https://namecheap.pxf.io/c/3559246/16...
⭐ Get my full-stack Next.js with Express & TypeScript course: https://codinginflow.com/nextjs
✅ Get my free React Best Practices course: https://www.codinginflow.com/reactbes...
💌 Join my newsletter for regular web dev tips: https://codinginflow.com/newsletter
💬 Join our developer community on Discord: https://codinginflow.com/discord
📣 Follow Coding in Flow on social media:
Twitter: / codinginflow
Instagram: / codinginflow
TikTok: / codinginflow
Facebook: / codinginflow
Timestamps:
0:00 - Why choose Better-Auth for authentication?
1:19 - Starting code setup
3:48 - Prisma & Prisma Postgres DB setup
7:50 - Better-Auth setup
16:16 - Email sign-up + sign-in
29:29 - Load session + user data (SSR) & protect pages (unauthorized.tsx)
36:18 - Custom User type with additional fields ($Infer.Session, $Infer.User)
44:55 - Request deduplication with React.cache
47:24 - Admin role (forbidden.tsx, server action)
52:47 - Email verification (Resend)
1:08:33 - Forgot password/reset password
1:18:08 - Hooks (custom password validation rules, APIError)
1:26:28 - Social login with Google & GitHub (OAuth)
1:36:26 - Redirects (route groups, layout.tsx, usePathname, useSearchParams)
1:42:48 - Update user profile data + image
1:47:31 - Change email
1:53:15 - Change password
1:56:21 - Revoke sessions (logout everywhere)
1:58:08 - Deployment to Vercel
2:01:00 - Outro + FREE React Best Practices course