Skip to content

API 令牌 ​

API 令牌让程序可以使用面板的 API:你的计费脚本、机器人、监控任务。每个令牌以一个管理员账户的身份行事,权限永远不会超出该账户。本页位于 访问控制 → API 令牌,对主管理员开放。

API 令牌页面:令牌列表,显示每个令牌代表的管理员、角色、作用域、最近使用和到期时间API 令牌页面:令牌列表,显示每个令牌代表的管理员、角色、作用域、最近使用和到期时间

令牌受哪些限制 ​

令牌从三个方面被收窄,每次请求都会重新检查:

  1. 身份:令牌绑定的管理员。令牌能看到该管理员能看到的内容。绑定到代理商的令牌只能看到该代理商的用户,并消耗它的配额。删除该管理员会同时删除令牌。
  2. 角色:令牌所处的层级,永远不高于其管理员的层级。管理员被降级时,令牌也随之降级。
  3. 作用域:令牌在该角色内可以访问的路由,并与其管理员角色的权限取交集。收窄管理员的角色会立即收窄绑定到它的所有令牌,无需重新签发。

以上任何修改都会在令牌的下一次请求时生效。

创建令牌 ​

  1. 点击 添加。
  2. 说明:令牌的用途,方便以后辨认。
  3. 身份:令牌获得其权限的管理员。
  4. 角色:层级,最高不超过该管理员的层级。
  5. 作用域:保持 不限制 即可访问角色所能访问的所有路由(包括以后版本新增的作用域),或取消勾选后自行选择。
  6. 插件标识:普通集成请留空。它用于属于某个手动添加的插件的令牌(参见 扩展页面)。
  7. 每分钟请求数:0 表示使用面板默认值 120。
  8. 有效期(天):0 表示永不过期。
  9. 点击 保存。

随后面板会 只显示一次 令牌。请在关闭对话框之前复制它:面板只保存其哈希值,因此无法再次显示。丢失的令牌只能删除并重新创建。

TIP

如果你的账户开启了两步验证,当你上一次输入验证码已超过十分钟时,创建或删除令牌都会再次要求输入验证码。

每次请求都要带上令牌:

bash
curl -H "Authorization: Bearer $NEXORA_TOKEN" \
  https://panel.example.com/your-base-path/api/v1/me

/api/v1/me 会返回令牌代表哪个管理员,以及它拥有哪些作用域。

作用域 ​

:write 作用域包含对应的 :read。面板表单中显示的是第二列的名称;API 和 API 文档使用第一列的名称。

作用域显示为
users:read查看用户
users:write创建与编辑用户
nodes:read查看节点
nodes:write配置节点
tunnels:read查看隧道
tunnels:write配置隧道
nodes:install通过 SSH 安装节点
templates:read查看模板
templates:write编辑模板
pool:read查看入站、出站与规则集
pool:write编辑入站、出站与规则集
certificates:read查看证书
certificates:write签发与编辑证书
settings:read查看设置
settings:write修改设置
stats:read流量、报表与健康状态
tools:write密钥生成工具
admins:write管理操作员与角色
tokens:write管理 API 令牌
license:write管理许可证
backup:read下载备份
backup:write创建与删除备份
backup:deliver向备份聊天发送文件
security:read查看封禁列表
security:write修改封禁列表
webhooks:read查看事件订阅者
webhooks:write修改事件订阅者
services:read查看面板服务
services:write配置和测试面板服务

只授予程序所需的最少权限。有三个作用域属于面板自身的管理:admins:write、tokens:write 和 license:write。除非程序确实需要,否则不要授予;没有它们的令牌无法创建账户,也无法签发新令牌,因此即使泄露,也无法让自己永久存在。backup:read 可以读出包含所有凭据的整个数据库,nodes:install 能以 root 身份登录你的服务器,因此这两个作用域同样需要谨慎对待。

有几个路由对所有令牌关闭,无论其作用域如何:修改调用者自己的密码、其仪表盘布局、重启面板、面板更新以及还原备份。另有几个路由对所有令牌开放:/api/v1/me、作用域列表和事件目录。

速率限制 ​

每个令牌每分钟有一定的请求额度(除非你另行设置,否则为 120)。每个响应都带有 X-RateLimit-Limit、X-RateLimit-Remaining 和 X-RateLimit-Reset。超出额度的请求会得到 429 和 Retry-After;请等待相应的秒数后再发送下一个请求。

列表 ​

列
说明令牌由插件持有时带有 扩展:名称 标签
身份令牌绑定的管理员
角色它的层级
作用域不限制,或作用域的数量(指向它可查看列表)
最近使用最近一次使用的时间;指向它可查看请求来源地址
到期时间到期日期,或永不过期

令牌创建后不能编辑:请删除它并重新创建。由插件持有的令牌不能在这里删除;它随插件一起在 扩展页面 页面上修改或移除。

API ​

本页顶部的 API 文档 会打开本安装的 API 参考,其中已填入你自己的地址:每个路由、它所需的作用域、列表与分页、使用 Idempotency-Key 的重试,以及状态码。同样的内容也在 API 参考 中。

请基于 /api/v1 前缀进行开发。它是稳定的公开接口。不带版本的 /api 前缀属于面板界面自身,可能随界面一起变化。

文字与图片采用 CC BY 4.0 许可。