Supabase Auth 的角色非常明确:
港口海关系统。
它负责:
- 注册登录
- JWT 发放与刷新
- 社交登录 / SSO 等接入
- 与数据库身份上下文联动
- 让后面的 RLS 能按人放行
官方架构文档明确提到:
- Auth 服务负责验证、签发、刷新 JWT
- Auth 数据使用数据库中的
authschema - 它和其余服务一起围绕同一个项目组织
一个最小注册示例:
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;
}登录:
export async function signIn(email: string, password: string) {
const { data, error } = await supabase.auth.signInWithPassword({
email,
password,
});
if (error) throw error;
return data;
}这里真正厉害的,不只是“会登录”。
而是:
这张海关通行证,后面会直接参与数据库层的关卡判断。
这就把 Auth 和数据库权限真正接到了一起。