认证
每个业务应用都要先回答一个问题:现在操作的是谁。NocoBase 3 把这件事做成了应用模板自带的能力,你新建的应用从第一天起就有完整的登录、注册、会话和账号管理,不需要先花一周搭一套账号体系。
底层用的是 Better Auth,一个被广泛使用的开源认证框架。这意味着社交登录、企业 SSO、Magic Link、双因素这些能力都是现成的,接入它们是配置,不是重写。
开箱即用
可以扩展成什么样
- 接入第三方登录。 GitHub、Google 等主流平台直接配置;任何标准 OAuth 2.0 或 OIDC 服务,比如公司的 Keycloak、Azure AD,用通用 OAuth 接入。
- 换掉密码。 Magic Link、邮箱验证码、Passkey、双因素,Better Auth 官方插件都能用。
- 接公司自己的协议。 门户跳转带 ticket、内部签名这类非标准流程,可以写一个 Better Auth 插件接进来,会话、退出和禁用照常工作。
- 在一个登录页上放多种方式。 账号密码、企业账号、第三方按钮可以同时出现。
- 把用户和业务连起来。 接口里直接拿到当前用户,订单归属、操作记录都以它为准。
它和权限的关系
认证回答「你是谁」,权限回答「你能做什么」。两者分开,各自独立配置:
- 一个接口先要求登录,再检查权限。没登录返回 401,登录了但没资格返回 403。
- 角色、菜单可见性、数据范围都在权限里配置。
- 用户列表、分配角色在设置中心的用户管理里操作。
和 Agent 一起开发
NocoBase 3 的应用开发以 Agent 为主要实现者。认证插件随包提供一份 Skill,Agent 读到它就知道接口怎么保护、页面在哪改、新认证方式该用哪种机制、需要补哪些表。你要做的是:
- 用业务语言描述需求:谁要登录、从哪进来、登录后去哪;
- 接第三方时把协议、回调地址、测试账号一次给全;
- 拍板账号策略:首次登录要不要自动建账号、能不能按邮箱关联已有账号;
- 审核它的方案,验收它的测试结果。
具体怎么说、怎么审,见使用 Authentication Skill。
安全上你不用操心的和需要操心的
不用操心的:密码用业界标准方式哈希;会话由服务端签发和校验;禁用账号立即生效;登录接口有限流;密码重置链接一次有效。
需要你决定的:
- 生产环境的密钥
secrets.keys(或SECRETS_KEYS)和公网地址,多实例部署要配共享缓存; - 是否开放自助注册;
- 第三方账号首次登录是否自动建号,是否允许按邮箱合并。按邮箱合并方便,但有被冒用的风险,所以只有你明确要求时 Agent 才会这么做。
下一步
- 快速开始:五分钟登录进去,看看默认能做什么。
- 使用 Agent 开发:保护接口、改登录页、接第三方登录。

