NBTCA 账号
NBTCA 账号是协会各项线上服务共用的一套登录,基于开源身份认证平台 Logto 自建,登录页在 auth.app.nbtca.space。在协会主页预约维修、队员进维修面板,用的都是这个账号;个人资料在 myid.app.nbtca.space 自助修改。
- 平台
- Logto(协会分支)
- 登录页
- auth.app.nbtca.space
- 个人中心
- myid.app.nbtca.space
- 维护
- wen-templari

注册与登录
没有账号的可以在登录页自行注册,注册需要一个邮箱并通过验证码验证。登录有三种方式:用户名或邮箱加密码,GitHub 账号,以及 Passkey。注册和登录时会提示设置两步验证,可以选验证器 App 的动态码、Passkey 或备用码,也可以跳过;之后在 myid 里随时绑定 GitHub 或补设两步验证。
用在哪里
- 协会主页 Home:右上角登录,预约维修和查看维修记录都要先登录;
- 维修后端 Saturday:用 Logto 的登录凭证换取自己的访问令牌。队员身份由 Logto 里的角色决定,“Repair Member”对应普通队员,“Repair Admin”对应管理员;Logto 通过 webhook 把用户变动同步给 Saturday;
- 内部管理页:日志查看器等只给维护者用的页面挡在 traefik-forward-auth 后面,访问时先跳到 Logto 登录;
- 个人中心:myid 是 Logto-USS 部署出来的自助页面,个人资料与头像、密码与两步验证、绑定的第三方登录都在这里管理。
协会对 Logto 做的改动
线上跑的是协会维护的 nbtca/logto 分支,镜像为 ghcr.io/nbtca/logto,相对上游只改了两处,并定期合并上游版本:
groups声明:把用户的角色写进 OIDC 令牌的groups字段(2025 年 10 月),下游应用据此判断权限,不必再单独调用 Logto 的管理接口;- GitHub 登录:把 GitHub 连接器换取令牌的地址改成 github-oauth.nbtca.space 代理(2025 年 10 月)。
其余两个仓库都是轻度改造的上游项目:Logto-USS 只改了配置和样式,traefik-forward-auth 只升级了依赖。
参与开发
这几个仓库都是上游项目的分支,最有价值的贡献是跟进上游:合并新版本、确认协会的改动仍然成立。改 Logto 之前先读上游的贡献指南,本地开发环境按它搭。
想在自己的项目里接入 NBTCA 账号,参考 Home 的做法:用 @logto/browser 发起登录,把 API 资源设为 https://api.nbtca.space,拿到的令牌就能调用 Saturday。新应用需要在 Logto 管理后台登记,找维护者开通。
Logto 分支的主要维护者是 wen-templari,groups 声明由 LazuliKao 参与完成。
相关
其他项目见基础设施与项目。