RDS Supabase的认证模块(Authentication)提供了一个功能全面的用户管理系统,支持多种认证方式,并可作为独立模块集成至您的应用程序中。
基本操作
创建新用户
邮箱注册。
要启用邮箱注册功能,您首先需要在阿里云控制台的Supabase Auth配置中设置您的邮件服务器(SMTP)信息。这需要配置以下参数:
GOTRUE_SMTP_PORT GOTRUE_EXTERNAL_EMAIL_ENABLED GOTRUE_SMTP_SENDER_NAME GOTRUE_SMTP_USER GOTRUE_SMTP_PASS GOTRUE_SMTP_ADMIN_EMAIL GOTRUE_SMTP_HOST GOTRUE_MAILER_AUTOCONFIRM GOTRUE_SITE_URL API_EXTERNAL_URL
配置完成后,通过以下方法调用:
const { data, error } = await supabase.auth.signUp({ email: 'example@email.com', password: 'example-password', })
手机号注册。
要启用短信(SMS)注册,您需要配置一个SMS发送服务的Webhook。Supabase将调用此Hook来发送验证短信。请在阿里云控制台配置以下参数:
GOTRUE_HOOK_SEND_SMS_ENABLED GOTRUE_HOOK_SEND_SMS_URI GOTRUE_HOOK_SEND_SMS_SECRETS
配置完成后,通过以下方法调用:
const { data, error } = await supabase.auth.signUp({ phone: '1381111****', password: 'example-password', options: { channel: 'sms' } })
登录用户
使用邮箱和密码,或手机号和密码来登录用户。
// 邮箱登录
const { data, error } = await supabase.auth.signInWithPassword({
email: 'example@email.com',
password: 'example-password',
})
// 手机号登录
const { data, error } = await supabase.auth.signInWithPassword({
phone: '+1381111****',
password: 'some-password',
})
更新用户
更新已登录用户的个人信息。请注意,用户必须处于登录状态才能调用 updateUser()
方法。
// 更新邮箱
const { data, error } = await supabase.auth.updateUser({
email: 'new****@email.com'
})
// 更新密码
const { data, error } = await supabase.auth.updateUser({
password: 'new password'
})
注销用户
注销当前登录的用户。
const { error } = await supabase.auth.signOut()
相关文档
了解更多Supabase认证的详细信息,请参见Auth。
Supabase JavaScript SDK请参见JavaScript。
手机号登录更多信息请参见phone-login。
SMS Hook更多信息请参见SMS Hook。
该文章对您有帮助吗?