全书目录

第四十八篇:Supabase 完全指南 —— 开源数据港口宇宙

第七章:Auth —— 港口海关系统,不只是登录,而是和数据库通关规则联动

1 分钟 257 字 第 894 / 962 个阅读单元

Supabase Auth 的角色非常明确:

港口海关系统。

它负责:

  • 注册登录
  • JWT 发放与刷新
  • 社交登录 / SSO 等接入
  • 与数据库身份上下文联动
  • 让后面的 RLS 能按人放行

官方架构文档明确提到:

  • Auth 服务负责验证、签发、刷新 JWT
  • Auth 数据使用数据库中的 auth schema
  • 它和其余服务一起围绕同一个项目组织

一个最小注册示例:

ts
import { createClient } from "@supabase/supabase-js";

const supabase = createClient(
  process.env.NEXT_PUBLIC_SUPABASE_URL!,
  process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!
);

export async function signUp(email: string, password: string) {
  const { data, error } = await supabase.auth.signUp({
    email,
    password,
  });

  if (error) throw error;
  return data;
}

登录:

ts
export async function signIn(email: string, password: string) {
  const { data, error } = await supabase.auth.signInWithPassword({
    email,
    password,
  });

  if (error) throw error;
  return data;
}

这里真正厉害的,不只是“会登录”。

而是:

这张海关通行证,后面会直接参与数据库层的关卡判断。

这就把 Auth 和数据库权限真正接到了一起。