TUNEPLANE_OIDC_ISSUER、TUNEPLANE_OIDC_CLIENT_ID 和 TUNEPLANE_OIDC_CLIENT_SECRET
打开——Casdoor、Keycloak,以及任何讲 OIDC 的东西。CLI 的浏览器登录和设备码登录会走同一套流程,
不需要额外配置。
Google、GitHub 与 Hugging Face 在后台设置页配置,保存即生效、无需重启。开之前先看下面那条警告:
允许名单不填,任何一个该平台的账号都能在这里建号。
想当然之前先确认这套部署提供哪一种:
两种账号体系
- 本地账号
- OIDC 单点登录
默认开箱即用:管理员
tp admin user-add 建账号,用户名密码登录。全新部署第一位管理员经控制台首访引导(/api/auth/setup)创建。Google、GitHub 与 Hugging Face 登录
在设置 → 访问 → Google / GitHub / Hugging Face 登录里配置,不走环境变量,保存即生效—— 登录页上的按钮立刻出现,不需要重启。Client ID 与 Secret 都填好之前,什么也不会显示。 Google 是标准 OIDC,走accounts.google.com 的发现文档。GitHub 不是 OIDC:它没有发现文档、
不签发 ID token,身份要从它的 REST API 取,邮箱设为私密的账号还得再读一次 /user/emails。
Hugging Face 形似 OIDC 但端点固定,登录只申请身份类 scope——与拉取受限仓库的账号绑定是两回事。
按 provider 分别注册回调地址:
CLI 登录与设备码登录同样可以走这几个 provider,
tp login 不需要额外配置。
Google One Tap 默认关闭、单独开关,因为这个提示是不请自来的。关着的时候 Google 的脚本根本
不会加载,它背后的接口也是关的。One Tap 与按钮登录最终建立的是同一个会话,访客把提示关掉不损失什么。
One Tap 是唯一由浏览器把 token 递给控制台、而不是控制台自己去取的登录路径,因此它多了两道重定向流程
不需要的校验:凭证的签名要用 Google 公布的密钥验过、且 aud 必须是本控制台自己的 Client ID;此外它
还必须带上一个由本控制台签发、且只能用一次的 nonce。没有 nonce 的话,凭证在它一小时有效期内一旦外泄,
就能被换成一个会话。
Token 体系
平台按用途签发域隔离的 token——任何一种不能冒充另一种:安全基线
TUNEPLANE_WEB_JWT_SECRET必设固定强随机串(多副本一致);- 生产配
TUNEPLANE_REDIS_URL:登出 / 封禁 token 即时吊销、分布式限流; - 集群与存储凭据只在服务端;作业侧只见预签名 URL 与 run 级 ingest token;
- CLI 打包有敏感文件黑名单(
.env、*.pem、id_rsa*…),密钥不会混进作业包; - 全部敏感操作入审计流水。