Logo花火漫画开发文档

登录方式

邮箱密码认证的注册、登录、密码重置流程

认证方式

HanabiManga 仅支持邮箱 + 密码认证,不提供第三方 OAuth 登录。

注册

const { data, error } = await supabase.auth.signUp({
  email: 'user@example.com',
  password: 'SecurePassword123!',
})

注册成功后,Supabase 会向用户邮箱发送确认链接。用户点击确认后 email_confirmed_at 字段被写入,账号正式激活。

管理员通过 Dashboard 创建的用户(admin-create-user)会跳过邮箱确认,直接激活。详见 用户管理函数

登录

const { data, error } = await supabase.auth.signInWithPassword({
  email: 'user@example.com',
  password: 'SecurePassword123!',
})

if (error) {
  console.error('登录失败:', error.message)
} else {
  // data.session 包含 access_token 和 refresh_token
  // data.user 包含用户信息和 app_metadata(含 role)
}

登录成功后返回 JWT,客户端后续请求通过 Authorization: Bearer <token> 携带。

密码重置

发起重置请求:用户输入邮箱,Supabase 发送重置链接

const { error } = await supabase.auth.resetPasswordForEmail(
  'user@example.com'
)

用户点击邮件链接:跳转到应用的重置页面,URL 中携带 token

设置新密码

const { error } = await supabase.auth.updateUser({
  password: 'NewPassword123!',
})

管理员也可以通过 admin-reset-password Edge Function 直接为用户重置密码,无需邮件流程。

密码要求

Supabase Auth 默认的密码最低长度为 6 个字符。当前项目未配置额外的复杂度要求。

On this page