邀请成员
添加一位同事只需要一个链接。管理员创建邀请,你把 URL 发给对方,对方在登录状态下打开链接并选择 接受邀请,就会立刻加入组织。
开始之前
| 前提条件 | 原因 |
|---|---|
| 你是当前组织的管理员 | 邀请是仅限管理员的操作 |
| 当前工作区不是你的个人工作区 | 个人工作区不能有成员 |
如果侧边栏顶部的切换器显示 个人,请先创建一个组织 — 参见 切换组织。
创建邀请
- 在侧边栏中打开 团队。
- 选择 邀请。
- 输入同事的邮箱地址。
- 选择一个角色:成员 — 部署并使用 API 或 管理员 — 完全访问权限。
- 选择 创建邀请。
Superheat 会返回一个链接:
https://cloud.superheat.xyz/join?token=<token>
在关闭对话框之前先复制它。该令牌只显示一次,之后无法再取回。如果弄丢了,撤销这个邀请并重新创建一个。
邀请与你输入的邮箱地址绑定:只有以该地址登录的人——看的是他们当前这次登录用的地址,而不是账户创建时记录的地址——才能接受。其他任何人打开链接都会被告知邀请不存在,或者它发送到了另一个地址,即使令牌完全有效。
这是真实的限制,不是形式 — 但令牌仍然出现在 URL 中,会通过粘贴的链接和 Referer 头泄露。请直接发给本人,不要发到共享频道;一旦流向不该去的地方,立即撤销。
同事如何接受邀请
有两条路径,最终得到的成员身份完全相同。
| 路径 | 他们要做什么 |
|---|---|
| 链接 | 登录,打开 /join?token=…,选择 接受邀请 |
| 在控制台中 | 用被邀请的邮箱地址登录,然后接受仪表盘上写着“你收到了加入 … 的邀请”的横幅 |
两条路径都需要以被邀请的地址登录;横幅只是便利入口,不是第二种进入方式。
打开链接会先展示他们要接受的是什么,然后才发生任何事:加入你的组织名称、谁邀请了他们以及以什么角色加入,还有邀请的过期时间。管理员邀请会多一行,说明管理员能做什么。接受邀请即加入;暂不加入会让邀请保持未使用。
通过链接接受之后,页面会显示你已加入你的组织名称,并询问是否现在切换过去——切换到它,或者留在当前工作区。不经询问,工作区不会变。如果他们还没有账户,需要先用同样的免密登录流程创建一个 — 参见 创建账户。
如果出了问题:
| 提示信息 | 发生了什么 |
|---|---|
| 此邀请已被使用。 | 每个邀请只能使用一次。请重新创建一个。 |
| 此邀请已过期。请让管理员重新发送。 | 邀请自创建起 7 天有效。 |
| 此邀请不存在,或发送到的邮箱与你当前登录的邮箱不同。 | 邀请已被撤销(或者因为发出它的管理员被移除、被改成成员而随之撤回)、令牌有误或被截断 — 或者你登录用的邮箱与被邀请的地址不是同一个。请退出后用被邀请的地址重新登录。 |
| 此邀请已失效——发送者已不再是管理员。请向现任管理员索取新的邀请。 | 创建它的管理员已不再是这个组织的管理员,邀请也就不再有效。 |
| 缺少邀请令牌 | 打开 URL 时没有带上 ?token= 部分。请复制完整链接。 |
待处理的邀请
团队 页面会列出所有尚未被接受且尚未过期的邀请,并显示角色和过期日期。管理员能看到这个列表,成员看不到。
- 撤销 会删除该邀请。链接立刻失效。
- 邀请一旦被接受、被撤销或超过 7 天,就会从列表中消失。
- 移除一名管理员,或把他改为成员,会撤回他创建的所有仍待处理的邀请。
通过 API 操作
创建邀请是管理员操作,因此需要会话令牌。shk_ API 密钥在所有管理员端点上都会被拒绝,即使创建它的人是管理员。
curl -X POST "$SUPERHEAT_API/v1/orgs/current/invites" \
-H "Authorization: Bearer $SESSION_TOKEN" \
-H "X-Org-Id: $ORG_ID" \
-H "Content-Type: application/json" \
-d '{"email": "teammate@company.com", "role": "member"}'
{
"invite": {
"id": "0f1c9e2a-8a1e-4a1b-9a52-2f3f0b6f6a11",
"email": "teammate@company.com",
"role": "member",
"created_at": "2026-03-04T10:12:00Z",
"expires_at": "2026-03-11T10:12:00Z"
},
"invite_url": "https://cloud.superheat.xyz/join?token=…"
}
invite_url 是令牌唯一出现的地方。
| 端点 | 谁可以调用 |
|---|---|
POST /v1/orgs/current/invites | 管理员,仅限会话令牌 |
GET /v1/orgs/current/invites | 管理员 — 未接受、未过期的邀请 |
DELETE /v1/orgs/current/invites/{invite_id} | 管理员 — 撤销 |
GET /v1/orgs/invites/pending | 任何已登录用户 — 发给其邮箱的邀请 |
POST /v1/orgs/invites/preview | 任何已登录用户,请求体 {"token": "…"} — 返回 org_id、org_name、role、inviter 和 expires_at,但不接受邀请 |
POST /v1/orgs/invites/{invite_id}/accept | 被邀请的用户,接受其中一个 |
POST /v1/orgs/invites/accept | 任何已登录用户,请求体为 {"token": "…"} |
新成员第一天就拥有什么
他们立刻共享组织的余额、实例、模板、API 密钥和用量日志。他们不共享你的 SSH 密钥 — 这些留在每个用户自己的账户上。成员具体可以做什么,参见 角色与权限;哪些东西不会越过边界,参见 切换组织。