更新时间:2026-10-21 GMT+08:00
分享

用户认证Auth配置管理

操作场景

RDS Supabase应用支持多种认证登录方式,您可根据实际业务情况按需启用,方便管理用户注册、访问控制、身份验证提供商(IDP)、邮件模板等相关配置。

  • 支持对接SMTP邮件服务器,实现用户邮箱注册邀请、登录验证、密码重置、邮箱变更等邮件通知与认证能力,且可以自定义邮件发送的主题和正文内容,方便精准控制认证流程。
  • 支持对接GitHub代码托管平台,实现 SSO(Single Sign-On)单点免密登录功能。您只需登录GitHub账号,即可一键跳转访问Supabase应用服务,从而省去多账号维护管理的负担,提供了便捷的三方登录途径。

前提条件

  • 如果需要对华为云上的资源进行精细管理,请使用统一身份认证服务(Identity and Access Management,简称IAM)创建IAM用户及用户组,并授权,以使得IAM用户获得具体的操作权限,更多操作,请参见通过IAM角色或策略授予使用RDS的权限。
  • 登录账号需要具备授权项“rds:aiApplication:getAuth”、“rds:aiApplication:modifyAuth”、“rds:aiApplication:get”和“rds:aiApplication:list”。
  • 完整的公网环境Auth认证功能,需要绑定弹性公网EIP,具体操作请参考绑定和解绑弹性公网IP。
    • 如果只需要使用简单的邮箱登录功能(在Dashboard界面直接创建新用户,且不通过邮箱确认),可以只绑定DNAT网关地址。此时,无法使用邮件模板和邮件发送和确认功能,也无法使用Github认证功能。
    • 如果只在内网环境使用Supabase,必须对接内网邮箱SMTP服务器,才能使用完整的邮件认证功能,此时无法使用Github认证功能。
  • 需要正确配置安全组,设置出方向的访问规则,具体操作请参考管理应用安全组。
  • 如需开启邮箱登录认证,请获取要对接的邮箱服务器信息,并开启SMTP相关配置。
  • 如需开启GitHub登录认证,请在GitHub->Settings->Developer Settings页面,注册OAuth App,并获取OAuth相关配置信息。

注意事项

  • 开启公网邮箱或GitHub登录认证功能,需要配置安全组在出方向上的访问规则,允许Supabase访问公网网络(邮箱地址/端口和GitHub地址/端口)。
  • 修改Auth配置过程中,Supabase应用功能将不可用(进程会重启)。请在业务低峰期进行操作,避免对高峰期业务造成影响。
  • 如需开启GitHub登录认证,请确保白名单“rds_feature_supportPostgreSQLSupabaseGitHubAuth”已开启。如果白名单未开启,GitHub提供商配置项将不展示,请联系华为工程师支撑处理。
  • 更换绑定邮箱时,新老邮箱账号均会收到确认邮件,需要都确认后才能成功更换。

约束限制

  • 如果应用已启用了邮箱或GitHub登录认证功能,请勿解除EIP绑定,请勿删除安全组规则,否则会导致邮件无法发送和接收、引发登录故障,从而造成注册和认证异常,影响业务正常使用。
  • 使用过程中,请勿切换SSL配置,避免业务认证功能异常,造成业务损失。如需切换,请在业务低峰期或维护窗口操作。
  • 如果应用切换了SSL配置(从关闭->开启或从开启->关闭),需手动更新访问控制的相关URL地址配置以及邮件模板地址,确保协议方式(http/https)相一致。
  • 仅支持在AI应用开发平台管理界面上进行管理与配置,不能在Supabase Dashboard界面进行操作(包括SMTP对接、邮件模板等配置),否则会造成元数据不一致,可能导致认证功能不可用。

操作步骤

  1. 登录RDS管理控制台。
  2. 单击管理控制台左上角的,选择区域。
  3. 左侧导航栏中选择“AI应用开发平台”,进入AI应用开发平台管理界面。
  4. 在“AI应用开发平台”列表页面,选择指定的AI应用,单击应用名称,进入应用详情页面。
  5. 单击左侧导航栏中的“Auth配置”页签,进入用户认证Auth配置页面。

    图1 RDS Supabase应用Auth配置

  1. 参考查看Auth完整配置步骤,进入用户认证Auth配置页面。

    图2 RDS Supabase应用Auth配置(用户注册配置)

    请结合业务实际场景,按需开启或关闭相关配置项。

    表1 Supabase用户注册配置项说明

    配置名称

    功能说明

    注意事项

    允许新用户注册

    控制新用户是否能注册到您的应用项目,如果关闭,系统将不允许新用户注册,所有新用户注册请求(包括邮箱、OAuth、匿名等)均被拒绝。

    如果关闭,系统将不允许新用户注册,所有新用户注册请求(包括邮箱、OAuth、匿名等)均被拒绝,请谨慎操作。

    允许匿名登录

    控制是否允许匿名用户访问,仅凭从RDS管理控制台获取的API Key即可创建临时身份,无需供任何个人信息(邮箱、手机或密码),即可直接创建一个临时"游客"账号。

    如果开启,匿名用户(游客身份)也可以访问Supabase应用服务,请谨慎操作。

  2. 开关操作完成后,会触发一个配置下发任务,请耐心等待任务完成,确保配置已在Supabase服务中生效。
  1. 参考查看Auth完整配置步骤,进入用户认证Auth配置页面。

    图3 RDS Supabase应用Auth配置(访问控制配置)

    请结合业务实际场景,按需修改相关参数控制项。

    表2 Supabase访问控制配置项说明

    配置名称

    功能说明

    填写示例

    注意事项

    项目前端地址

    指向您的前端项目(网站)的访问地址。用于拼接邮件中的链接,用户单击后跳转到的页面。OAuth登录成功后、邮箱魔法链接验证后、密码重置后,用户浏览器被重定向到此URL。

    http://10.10.10.20:8080

    支持IP地址,也支持域名格式(要能被正确解析并正常访问)。

    应用外部访问地址

    Supabase应用服务的外部可达完整URL,用于所有涉及外部回调的场景,如OAuth登录、SSO、邮件链接跳转。

    填写格式:

    • 未开启SSL:http://{supbase_eip_address}:8443
    • 已开启SSL:https://{supbase_eip_address}:8443
    • 样例(未开启SSL):http://10.10.10.10:8443
    • 样例(已开启SSL):https://10.10.10.10:8443

    {supbase_eip_address}为Supabase绑定的EIP地址。

    结尾不能带'/'符号。

    重定向白名单

    用于配置防止恶意攻击、防御重定向漏洞的URL白名单。格式为逗号分隔的URI列表,作为OAuth重定向场景下(第三方 OAuth 登录、单击邮箱验证链接、重置密码)浏览器链接中redirect_to参数的有效重定向目标白名单。

    http://10.10.10.11:8080,http://10.10.10.12:8080

    支持IP地址,也支持域名格式。

    可配置多个URL地址,数量不超过10个。

    支持通配符格式,如https://10.10.10.*:8443。

  2. 配置填写完成后,会触发一个配置下发任务,请耐心等待任务完成,确保配置已在Supabase服务中生效。
  1. 参考查看Auth完整配置步骤,进入用户认证Auth配置页面。

    图4 RDS Supabase应用Auth配置(身份验证提供商)

  2. 打开“邮箱”卡片的开关,进入邮箱身份验证配置页面。

    图5 RDS Supabase应用Auth配置(邮箱身份验证配置)

    请结合业务实际场景,进行参数正确的配置。请仔细检查SMTP配置的正确性和网络连通性。

    表3 Supabase邮箱认证配置项说明

    配置名称

    配置说明

    填写示例

    注意事项

    启用外部邮箱登录

    控制是否启用外部邮箱作为第三方认证IDP。启用后,无需输入Supabase用户密码,即可邮箱登录进行SSO认证跳转。

    开启

    需要绑定弹性公网EIP。

    SMTP主机

    邮箱服务器SMTP的主机地址。不需要包含协议类型及端口号。

    • 10.10.10.10
    • smtp.163.com
    • IP格式仅支持IPV4地址。
    • 域名格式要求为公网可解析域名。

    SMTP端口

    SMTP邮箱服务器的端口号。支持填写非SSL端口和SSL加密端口。

    25

    为了防止密码和邮件内容被窃听,强烈建议配置SSL加密端口,一般为465或587。

    SMTP用户名

    SMTP邮箱服务器的认证用户名。建议填写运维管理员的邮箱地址。

    zhangsan@huawei.com

    -

    SMTP密码

    SMTP邮箱服务器的认证密码。

    -

    非邮箱登录密码,而是SMTP配置中生成的授权码。

    管理员邮箱

    填写管理员邮箱地址。

    zhangsan@huawei.com

    通常情况下,该邮箱地址与SMTP用户名相同。

    邮件发件人姓名

    邮件发件人的显示名称,收件人会看到该名称。

    zhangsan

    -

    邮箱自动确认

    设置用户注册时是否可通过邮件自动确认(跳过验证步骤)。

    开启,则跳过邮件验证确认环节,系统不会发送确认邮件到用户邮箱,用户无需点击链接,直接自动注册成功。

    关闭

    对于生产环境,请慎重开启,强烈建议关闭以确保注册邮箱真实有效。

    邮件发件速率限制(秒)

    限制同一个用户(或同一个IP地址)在多长时间内(单位:s)最多只能触发一次SMTP邮件发送。

    60

    默认60s。请根据实际业务场景,合理正确设置。

  3. 配置填写完成后,会触发一个配置下发任务,请耐心等待任务完成,确保配置已在Supabase服务中生效。

请确保用户注册配置中“允许新用户注册”功能已开启,否则系统将拦截新用户注册,导致GitHub新用户无法成功注册并登录。GitHub SSO登录注册成功后,可以按需关闭“允许新用户注册”功能,禁止其他用户注册。

  1. 登录GitHub官方网站,进入Settings->Developer Settings页面,注册一个新的OAuth App。关键配置如下,供参考:

    表4 GitHub OAuth App 注册创建页配置项

    配置项

    配置说明

    填写示例

    注意事项

    Application name

    OAuth App应用的名称。

    Supabase Baas App

    建议填写您的网站名、软件名或公司名

    Homepage URL

    OAuth App应用的官方主页完整地址。

    http://10.10.10.30:8080

    建议填写您开发的应用或网站的线上主页完整地址。

    Authorization callback URL(旧版)

    Redirect URI(新版)

    授权回调URL。GitHub验证用户登录成功后,GitHub会把一个临时授权码(Code)发送到这个URI,Supabase后端捕获该请求后,在后台完成用户的自动建号或登录流程,最后再把用户安全地重定向回您的项目前端网页(即项目前端URL地址)。

    填写格式为:http(s)://{supbase_eip_address}:8443/auth/v1/callback

    样例(未开启SSL):http://10.10.10.10:8443/auth/v1/callback

    {supbase_eip_address}为Supabase绑定的EIP地址。

    创建成功后,请获取Client ID、Client secrets信息,并妥善保管,避免泄露造成安全隐患。

  2. 参考查看Auth完整配置步骤,进入用户认证Auth配置页面。

    图6 RDS Supabase应用Auth配置(身份验证提供商)

  3. 单击“GitHub”卡片的开关按钮,进入GitHub身份验证配置页面。

    图7 RDS Supabase应用Auth配置(GitHub身份验证配置)

    请结合业务实际场景,进行参数正确的配置。

    表5 Supabase邮箱认证配置项说明

    配置名称

    功能说明

    填写示例

    注意事项

    GitHub OAuth App 的 Client ID

    应用的唯一身份标识。GitHub 用它来识别是哪一个应用在发起登录请求。

    Ov45liywCeERZoCwLx0i

    填写步骤一中获取的对应信息。

    GitHub OAuth App 的 Client Secret

    应用的签名凭证。在用户同意授权后,后端服务器需要同时携带 Code(临时授权码)和 Client Secret 向 GitHub 换取 Access Token(访问令牌)。

    bb1946b54eccbcae0fd6d2745429************

    填写步骤一中获取的对应信息。

    授权回调地址

    设置GitHub“同意授权”认证成功后浏览器重定向到Supabase应用的目标URI。

    http://10.10.10.10:8443/auth/v1/callback

    必须与GitHub OAuth应用配置中Authorization callback URL保持一致,精确设置为Supabase应用外网访问地址并追加/auth/v1/callback路径。

  4. 配置填写完成后,会触发一个配置下发任务,请耐心等待任务完成,确保配置已在Supabase服务中生效。

RDS Supabase应用内置英文版邮件模板(含主题和正文),默认情况下,邮箱认证过程会使用默认模板来生成邮件内容。如果预置模板不满足您的业务场景要求,您可以创建自定义的邮件模板文件(格式为HTML),再通过RDS Supabase Dashborad界面Storage存储功能,上传并托管该HTML邮件模板文件,供邮箱认证过程读取并使用。

  1. 准备自定义邮件内容模板HTML文件。可参考如下指导要求,按需进行模板文件创建。

    表6 Supabase邮件内容模板生成指导

    模板分类

    功能说明

    模板样例

    邮箱确认邮件模板

    用于注册邮箱验证(注册后发验证邮件,激活邮箱)。

    文件名:

    oauth_email_confirm_template.html

    内容:

    <h2>Confirm Your Email via Huawei Cloud RDS Supabase</h2>
    <p>Follow this link to confirm your user with Email:</p>
    <p><a href="{{ .ConfirmationURL }}">Confirm your email address</a></p>
    <p>Alternatively, enter the code: {{ .Token }}</p>
    <p>Attention: The default validity period of the link and code is 1 hour.</p>

    用户邀请邮件模板

    用于管理员邀请用户注册,发送邀请链接。

    文件名:

    oauth_email_invite_template.html

    内容:

    <h2>You have been invited via Huawei Cloud RDS Supabase</h2>
    <p>You have been invited to create a user on <a href="{{ .SiteURL }}">{{ .SiteURL }}</a>. Follow this link to accept the invite:</p>
    <p><a href="{{ .ConfirmationURL }}">Accept the invite</a></p>
    <p>Alternatively, enter the code: {{ .Token }}</p>
    <p>Attention: The default validity period of the link and code is 1 hour.</p>

    密码重置邮件模板

    用于用户密码重置/找回时发送邮件。

    文件名:

    oauth_email_recovery_template.html

    内容:

    <h2>Reset Your Password via Huawei Cloud RDS Supabase</h2>
    <p>Follow this link to reset the password for your user:</p>
    <p><a href="{{ .ConfirmationURL }}">Reset Password</a></p>
    <p>Alternatively, enter the code: {{ .Token }}</p>
    <p>Attention: The default validity period of the link and code is 1 hour.</p>

    邮箱变更邮件模板

    用于用户修改邮件绑定时发送邮件。

    文件名:

    oauth_email_change_template.html

    内容:

    <h2>Confirm Your Email Change via Huawei Cloud RDS Supabase</h2>
    <p>Follow this link to confirm the update of your email from {{ .Email }} to {{ .NewEmail }}:</p>
    <p><a href="{{ .ConfirmationURL }}">Change email address</a></p>
    <p>Alternatively, enter the code: {{ .Token }}</p>
    <p>Ate, enter the code: {{ .Token }}</p>
    <p>Attention: The default validity period of the link and code is 1 hour.</p>

    Magic Link邮件模板

    用于免密魔法链接(MAGIC_LINK)登录时的邮件发送。

    文件名:

    oauth_email_magic_link_template.html

    内容:

    <h2>Your Magic Link via Huawei Cloud RDS Supabase</h2>
    <p>Follow this link to direct login <a href="{{ .SiteURL }}">{{ .SiteURL }}</a></p>
    <p><a href="{{ .ConfirmationURL }}">Log In</a></p>
    <p>Attention: The default validity period of the link and code is 1 hour.</p>

    重新认证邮件模板

    用于重新认证时的邮件发送。

    文件名:

    oauth_email_reauthentication_template.html

    内容:

    <h2>Confirm Your Reauthentication via Huawei Cloud RDS Supabase</h2>
    <p>Enter the code: {{ .Token }}</p>
    <p>Attention: The default validity period of the link and code is 1 hour.</p>

    注意事项:

    • 模板文件仅支持HTML格式,大小不超过1MB。文件名称仅支持英文、数字及下划线,不支持中文和特殊字符,请正确有效填写,确保内容完整性,否则会造成对应邮件功能不可用。
    • 模板中使用{{ .ConfirmationURL }}作为确认链接占位符,使用{{ .Token }}作为验证码占位符,RDS Supabase会在发送邮件时将自动替换为实际值。更多配置(含占位符)和使用说明,请参考Supabase开源官网文档。
    • 如上模板均为非必须项,只有在内置模板不满足要求,需要使用自定义模板的场景下才需要创建。

  2. 参考开启或关闭Storage存储配置章节,开启Supabase的Storage存储功能。并创建一个用于存储邮件模板的Bucket桶。

    在Supabase Dashboard左侧导航栏单击“Storage”卡片,再单击页面中的“New Bucket”按钮,创建一个Bucket。

    图8 RDS Supabase Dashboard Storage页面

    在弹出的Bucket桶创建界面中,进行相关填写与设置。然后单击“Create”按钮,完成创建。

    • Bucket name:填写桶名称,不建议填写中文和特殊字符,避免后续使用过程中错误处理字符编码转换而发生故障。样例:oauth-email-bucket。
    • Public bucket:开启。确保公网场景下能直接访问,不再额外添加权限。
    图9 RDS Supabase Dashboard创建Bucket桶

  3. 上传邮件模板到Storage Buckt桶中。

    在Storage Buckets桶列表界面,找到步骤2创建的桶,单击名称进入该桶的文件管理视图。然后单击右上方的“Upload files”按钮,进行文件上传操作。

    图10 RDS Supabase Dashboard Bucket上传模板文件

  4. 参考查看Auth完整配置步骤,进入用户认证Auth配置页面。

    图11 RDS Supabase应用Auth配置(邮件模板配置)

  5. 根据实际情况,按需修改对应的邮件模板。根据邮件类型,找到对应模板配置行,单击右侧的“修改”按钮进行参数填写。

    表7 Supabase邮件模板配置项说明

    配置名称

    配置说明

    填写事项

    邮件主题

    自定义邮件的主题。支持中文、英文和数字,长度不超过256字符。

    非必填。不填时,使用系统内置的主题。

    模板地址

    邮件正文模板的URL地址。

    如果使用Supabase Storage托管邮件模板,填写格式如下:

    • 已开启SSL:https://{Supabase应用访问地址/storage/v1/object/public/{Storage Bucket名称}/{邮件模板文件名}

      样例:https://192.168.166.124:8443/storage/v1/object/public/oauth-email-bucket/oauth_email_confirm_template.html

    • 未开启SSL:http://{Supabase应用访问地址}/storage/v1/object/public/{Storage Bucket名称}/{邮件模板文件名}

      样例:http://192.168.166.124:8443/storage/v1/object/public/oauth-email-bucket/oauth_email_confirm_template.html

    非必填。不填时,使用系统内置的模板。

    各参数说明如下:

    • {Supabase应用访问地址}:可以填如下几种地址。
      • Supabase应用的内网IP:应用端口号
      • Supabase应用绑定的弹性公网IP:应用端口号
    • {Storage Bucket名称}:对应步骤2中创建的Bucket桶名。
    • {邮件模板文件名}:对应步骤3中上传的模板文件的名称(含文件后缀)。

  6. 配置填写完成后,会触发一个配置下发任务,请耐心等待任务完成,确保配置已在Supabase服务中生效。

相关文档