Supabase 是一个开源的 Firebase 替代方案,提供后端即服务(BaaS)功能,包括数据库、身份验证、存储和实时功能,帮助开发者快速构建应用。
安装和更新 Supabase CLI
安装 Supabase CLI:
bash
体验AI代码助手
代码解读
复制代码
bash
更新 Supabase CLI:
bash
体验AI代码助手
代码解读
复制代码
bash
数据库集成步骤
- 访问 Supabase 官网,你可以通过上一步创建的域名邮箱注册。
- 点击
New Project创建新项目
记住这一步填写的密码
- 将环境变量赋值到
.env或者.env.local文件
- 初始化数据库
bash
体验AI代码助手
代码解读
复制代码
bash
在 Windows系统上,如果执行
pnpm db:update 遇到 “Invalid project ref format” 的错误,如图:请打开
package.json 修改 db:update 命令:json
体验AI代码助手
代码解读
复制代码
json
执行完成后,打开 Table Editor,你就能看到所有 Nexty 模板内置的表和定价数据。
打开 Database 模块,你能看到所有设计的 Indexes(索引)、Triggers(触发器)、Functions(RPC函数) 和 Policies(行安全策略)。
数据库更新方法
当你开始开发自己的功能的时候,无论新增数据表还是修改数据表,都可以使用这个命令创建新的表设计文件:
bash
体验AI代码助手
代码解读
复制代码
bash
执行命令后,会在
supabase/migrations 生成一个新文件。接着在新文件里写入新增或更新数据表的 sql。如果你不懂设计数据表,可以先和 AI 讨论功能,再让 AI 为你设计完整的 supabase 的数据表,并要求直接写入这个新文件。
然后执行这个命令更新数据库:
bash
体验AI代码助手
代码解读
复制代码
pnpm db:update身份授权集成步骤
Nexty 模板默认支持 Supabase Auth 的 Google 授权、GitHub 授权和邮箱 Magic Link 三种登录方式。
注意:
- 邮箱登录请勿使用 QQ 邮箱调试,因为 QQ 邮箱会在后台访问链接,导致 Magic Link 失效。
- 建议 GitHub 登录优先于 Google 登录进行调试,因为配置比较简单,不易出错。
- 如果 Github 登录成功,只要确保 Google 配置正确,Google 登录肯定不会有问题。
邮箱登录
Supabase Auth 默认开启邮箱登录,不过默认设置的链接过期时间是1小时,一般建议修改为10分钟。
点击
Email,打开邮箱设置面板将
Email OTP Expiration 的值改为 600,然后点击 SaveMagic Link 登录方式有提供默认邮件通知模板,你可以进入
Email - Magic Link 重新设置自己的邮件通知模板Github 登录
点击
Github,打开 Github 设置面板点击
Enable 按钮,开启 Github 登录,然后复制 Callback URLHomepage URL 可直接填写将来的生产地址,也可以暂时写开发环境的地址(如http://localhost:3000), Authorization callback URL 填写刚才复制的 Callback URL创建完成后,你就能看到
Client ID ,再点击 Generate a new client secret 按钮生成 Client Secret ,将它们复制到 Supabase Auth 的 Client ID 和 Client Secret 中。Google 登录
点击
Google,打开 Google 设置面板点击
Enable 按钮,开启 Google 登录,然后复制 Callback URL输入项目名称,然后点击
Create开始设置 Project 信息
创建 Client ID
Application type选择Web application
Authorized JavaScript origins本地开发需要填写http://localhost:3000和http://localhost
Authorized redirect URIs填写刚才复制的Callback URL
把生成的
Client ID 和 Client secret 复制到 Supabase Auth 的 Client ID 和 Client Secret 中。同时把
Client ID 添加到环境变量 NEXT_PUBLIC_GOOGLE_CLIENT_ID,这将使你的产品支持 Google One Tap 登录方式,帮助用户减少一次页面跳转。再回到 Google Cloud Console,在 Data Access 页面勾选我们需要的权限
提示如果要启用 Google One Tap,必须将Client ID添加到环境变量NEXT_PUBLIC_GOOGLE_CLIENT_ID。
配置重定向 URL
为了让用户登录后重定向到正确的页面,我们还需要配置
URL Configuration 。Site URL 是默认的重定向地址,如果没有指定 Redirect URL,系统会自动将用户重定向到 SITE_URL。如果已有生产地址,这里填写生产环境地址;如果域名还未启用,可暂时填写开发环境地址,等到发布生产环境时再修改为生产地址。Redirect URL 用于指定允许在代码中使用 redirectTo 参数自定义的重定向地址。你可以同时填写生产环境和开发环境的地址,这样能够保证两套环境均能够正确重定向;但建议发布生产环境后,将开发环境的地址删除。获取 API 密钥
最后一步,也是最重要的一步,获取 API 密钥。
- 在
Project Settings - Data API页面,把URL复制到环境变量NEXT_PUBLIC_SUPABASE_URL
- 在
Project Settings - API Keys页面,把anon key和service_role key复制到环境变量NEXT_PUBLIC_SUPABASE_ANON_KEY和SUPABASE_SERVICE_ROLE_KEY
bash
体验AI代码助手
代码解读
复制代码