AI 助手
扣子 AI 帮助与支持
你好,我是 扣子 文档问答助手 🎉 你在阅读当前文档的过程中,无论对文档概念的解释,还是文档内容方面的疑问,都可以随时向我提问,我会全力为你解答
推荐问题
扣子 3.0 都有什么新特性?
扣子和扣子编程有什么区别?
扣子如何收费?
文档反馈

集成身份验证

通过身份验证功能,开发者只需用简单提示词说清楚需求,扣子 AI 就能给你的 Web 应用、移动应用构建一套完整的用户注册、登录和管理系统。

说明

在团队版和企业版中,企业超级管理员可以通过功能访问控制​空间资源可见性,控制成员可见的功能入口和空间资源范围。如果你未看到预期的功能和资源,请联系企业超级管理员确认。更多信息,请参考功能访问控制空间资源访问控制

什么是身份验证

扣子编程提供身份验证能力,可以为你的应用添加一套账号权限系统。你仅需通过简单的提示词,即可为 Web 应用、移动应用加上登录、注册、用户管理等功能。

核心功能如下:

  • 极简集成:通过自然语言或简单的手动操作,即可为你的应用添加注册、登录和用户管理等功能。
  • 登录方式:支持手机号、邮箱等登录方式。
  • 用户管理:提供直观的用户管理界面,方便你查看、管理应用里的所有注册用户。
  • 数据存储:将用户信息自动存储在你的专属数据库中。
  • 自定义登录页面:可以修改应用名称、图标等,打造符合你品牌风格的登录页面。

使用限制

  • Web 应用移动应用支持集成身份验证,其他 AI 编程项目不支持。
  • 部分老项目不支持身份验证配置,你可在控制台查看是否显示配置卡片,显示则代表支持。
  • 复制项目时,仅复制登录配置、代码和开发环境的用户数据。

费用说明

以下操作将消耗你的扣子积分。

  • 身份验证:限时免费,后续正式计费的时间计划与产品定价请关注平台公告。
  • 编程任务:与扣子 AI 的每轮对话。

效果展示

集成身份验证后,用户访问你的应用时,必须先注册账号并完成登录。

Image

操作步骤

为应用接入身份验证能力

开发应用时,扣子 AI 会通过你的需求描述,接入身份验证功能;你也可以手动为应用添加身份验证功能。

  1. 扣子编程左侧导航栏选择项目管理,单击某个应用。
  2. 通过如下方式集成身份验证功能。

扣子 AI 自动集成

输入自然语言,包含用户管理用户登录、用户管理系统等关键词,例如:

帮我集成用户登录能力

手动添加

  1. 在开发应用的工作区,单击**➕新标签页**,在集成服务区域单击集成服务 > 身份验证
  2. 单击帮我集成用户登录能力
    Image

扣子 AI 是调用 Supabase 技能来接入身份验证能力,接入完成后,你可以继续与扣子 AI 对话,修改登录配置。例如:

用户可以先访问主页,不需要强制登录
支持手机号登录

用户管理

扣子编程提供了一个内置的用户管理界面,便于你查看和管理该应用的所有用户。

  1. 扣子编程左侧导航栏选择项目管理,然后单击某个应用。
  2. 在开发应用的工作区,单击**➕新标签页**,在集成服务区域单击集成服务 > 身份验证
  3. 用户页签中,你可以查看和管理应用的所有注册用户。
    Image
    • 切换环境,查看不同用户数据。
      • 线下数据:在开发和调试过程中注册的用户数据。
      • 线上数据:应用部署到线上后,真实的用户注册数据。
    • 查看所有注册用户:在列表中,查看已注册该应用的所有用户。
    • 查看用户详情:单击查看详情,查看用户的登录数据详情,包括用户 ID、邮箱、手机号、最近一次登录方式和登录时间等。
    • 删除用户:单击删除图标,删除无效或违规用户。

      注意

      删除用户后,该用户将无法登录应用,该操作不可逆,请谨慎操作。

配置登录页面

集成身份验证能力时,扣子会生成默认的登录页面,你还可以根据品牌和业务需求,自定义登录页面的图标和名称。

  1. 扣子编程左侧导航栏选择项目管理,然后单击某个应用。
  2. 在开发应用的工作区,单击**➕新标签页**,在集成服务区域单击集成服务 > 身份验证
  3. 配置页签中,你可以自定义登录页面。
    目前支持自定义如下元素:
    • 应用名称:设置应用的名称。
    • 应用图标:上传符合需求的图标。
    • 登录方式:勾选支持的登录方式,包括邮箱登录、手机号登录。
      默认情况下,仅开启邮箱登录,关闭手机号登录。手机号登录功能目前仅支持中国大陆(+86)的号码。
      Image
  4. 单击保存配置
    保存配置成功后,会触发登录页的调试及重新生成,生成后请确认登录模块符合预期。

存储用户数据

扣子编程会为每个应用创建一个数据库,用于存储用户数据,你可以在数据库的 auth schemas 中,找到 users 数据表,进行查看。数据库的详细说明请参考集成数据库能力

安全特性

说明

环境数据隔离

扣子编程数据库支持为你的应用创建并维护两份独立的用户数据表。

  • 开发环境:用于在开发和调试过程中产生的用户数据。
  • 线上环境:用于已发布应用产生的真实用户数据。
行级安全策略 系统默认会为所有表开启行级安全策略(RLS),默认仅允许用户读写自己的数据。为避免数据泄露风险,请勿关闭 RLS 以及请勿设置公开读写的 Policy。更多信息,请参考@行级安全

查看 users 数据表的操作步骤如下:

  1. 扣子编程左侧导航栏选择项目管理,然后单击某个应用。
  2. 在开发应用的工作区,单击**➕新标签页**,在集成服务区域单击集成服务 > 数据库
  3. auth schemas 中,单击 users 数据表,查看用户数据。

Image

users 数据表的字段说明如下表所示:

字段

说明

id 用户身份的唯一标识。
is_sso_user 是否为 SSO 单点登录用户。
is_anonymous 是否匿名用户。
instance_id 实例 ID。
aud 受众声明,JWT 令牌的目标受众。
role 数据库角色,用于 RLS 权限控制。
email 用户邮箱地址。
encrypted_password 加密密码哈希。
email_confirmed_at 邮箱确认时间戳。用户邮箱完成验证的时间。
invited_at 用户被邀请的时间。
confirmation_token 邮箱验证令牌。
confirmation_sent_at 验证邮件发送时间。
recovery_token 密码重置令牌。
recovery_sent_at 密码重置邮件发送时间。
email_change_token_new 新邮箱的验证令牌。
email_change 待确认的新邮箱。
email_change_sent_at 换绑邮件发送时间。
last_sign_in_at 最近登录时间戳。用户上次登录系统的时间。
raw_app_meta_data 系统元数据(提供商、角色等)。
raw_user_meta_data 用户自定义元数据。
is_super_admin 是否为超级管理员。
created_at 创建时间戳。用户账户创建的时间。
updated_at 更新时间戳。用户信息最后一次修改的时间。
phone 用户手机号。
phone_confirmed_at 手机确认时间戳。
phone_change 待确认的新手机号。
phone_change_token 手机换绑验证令牌。
phone_change_sent_at 手机换绑验证码发送时间。
confirmed_at 最终确认时间戳。用户邮箱或手机号任一完成验证的时间。
email_change_token_current 当前邮箱的验证令牌。

email_change_confirm_status

邮箱换绑确认状态。

  • 0:未确认
  • 1: 已确认
banned_until 账号封禁截止时间。
reauthentication_token 二次验证令牌(修改密码、换绑前校验)。
reauthentication_sent_at 二次验证邮件、短信发送时间。
deleted_at 软删除时间,不为空表示已删除。

常见问题

用户数据存储在哪里,是否安全?

用户数据存储在你扣子编程项目关联的专属数据库中,并由火山引擎提供企业级的安全防护。开发环境与线上环境数据物理隔离,确保了数据的独立性与安全性。扣子编程不会使用你的用户数据。

误删了应用中的用户怎么办?

如果在应用的用户管理页面删除了用户,该操作不可逆。一旦用户被删除,其相关的认证信息将从数据库中被移除,该用户将无法登录应用,请谨慎执行删除操作。