使用 Email 完成注册与登录
本课将基于 Next.js + Supabase 实现最基础却最常用的邮箱注册/登录流程。
Supabase 项目配置,参考相关课程 Supabase 基础: 快速上手 之 Supabase Auth:Email 登录配置
1. 安装依赖
安装 Supabase 官方 SDK 以及本项目所需的 UI 组件:
pnpm add @supabase/supabase-js @supabase/ssr
npx shadcn@latest add button card input label tabs sonner
2. 配置环境变量
NEXT_PUBLIC_SUPABASE_URL=https://xxx.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=sb_publishable_xxx
注意:NEXT_PUBLIC_SUPABASE_ANON_KEY 是前端可用的 匿名密钥(Publishable API Key),请勿在此处使用 secret key。
3. 初始化服务端客户端
创建服务端 Supabase 客户端 lib/supabase/server.ts,用于在 Server Components / Route Handlers 中安全地访问 Supabase
4. 创建登录页面与回调处理
- 登录页面
app/login/page.tsx - 回调处理逻辑
app/auth/callback/route.ts
5. commit:添加 Supabase 邮箱登录完整流程
完成这一步后,访问 /login 页面,即可进行邮箱注册和登录测试。