Better-Auth - Full Guide (OAuth, Emails, Roles, Hooks, Authorization, Prisma, Next.js 15, Resend)
Aug 30, 2025•Channel
AI Analysis
Data from YouTube Data API v3•Updated Just now
Video Overview
Video Details
Published10 months ago
Duration2:02:27
Video IDw5Emwt3nuV0
Languageen
CategoryEducation
PrivacyPublic
Made for KidsNo
Video TypeRegular Video
Performance Metrics
Views13.9K
Likes586
Comments87
Engagement Rate4.85%
Likes per 100 views4.22
Comments per 1K views6.27
Video Tags
#better-auth#better-auth nextjs#better-auth vs next-auth#better auth tutorial#better auth full tutorial#better auth next js tutorial#better auth prisma#better auth prisma nextjs#better auth prisma postgres#better auth roles#better auth roles and permissions#better auth admin role#better auth add role#better auth get role#better auth oauth2#better auth google oauth#better auth github oauth#better auth email verification#better-auth shadcn#next js 15
Description
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/better-auth-tutorial/tree/starting-code
Final code: https://github.com/codinginflow/better-auth-tutorial
Prisma + Better-Auth setup guide: https://pris.ly/betterauth-nextjs
lib/prisma.ts: https://github.com/codinginflow/better-auth-tutorial/blob/final-project/src/lib/prisma.ts
Get your domain at Namecheap: https://namecheap.pxf.io/c/3559246/1632743/5618
⭐ 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/reactbestpractices
💌 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: https://twitter.com/codinginflow
Instagram: https://instagram.com/codinginflow
TikTok: https://tiktok.com/@codinginflow
Facebook: https://facebook.com/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