管理令牌(Admin tokens)

页面摘要: Admin tokens 用于对访问 Strapi Admin API 的程序化请求进行身份验证。每个令牌的作用范围限定为其所有者权限的一个子集,专为 MCP 代理、CI/CD 流水线和脚本等自动化工作流而设计。

Admin tokens 允许自动化客户端对访问 Strapi Admin API 的请求进行身份验证。若要对访问 Content API 的请求进行身份验证,请参阅 API Tokens。

Admin tokens 与 API tokens 严格分离:在对方的路由上,各自的令牌都将被拒绝。

  • Plan:Free feature
  • Role & permission:默认对超级管理员(Super Admin)启用。每个较低级别的角色都需要在 Roles > Settings - Admin tokens 中显式授予权限。
  • Activation:默认可用并已启用
  • Environment:在开发与生产环境中均可用

管理面板中的 Admin tokens

配置

Admin tokens 完全通过管理面板进行配置,没有专门针对 Admin tokens 的基于代码的配置。适用于所有令牌类型的共享 salt 和加密密钥,通过 /config/admin 文件中的 apiToken.salt 和 apiToken.secrets.encryptionKey 设置(请参阅 API tokens)。

配置该功能的路径: Settings > Administration Panel > Admin Tokens

创建新的 Admin token

WARNING

如果你不是该 Strapi 实例的超级管理员,超级管理员必须已向你授予以下权限:

  • 访问 Admin tokens 设置页面
  • 创建(生成)Admin tokens

(详见 RBAC > 配置角色权限)。

  1. 点击 Create new Admin Token(创建新的 Admin Token) 按钮。

  2. 在令牌创建表单中,配置新的 Admin token:

    设置名称说明
    Name填写令牌的名称。
    Description(可选)填写令牌的说明。
    Token duration选择一个有效时长:7 days(7 天)、30 days(30 天)、90 days(90 天),或 Unlimited(无限制)。
  3. 定义该令牌可以执行的 admin 操作:

    • 点击表单下方的标签页以浏览权限类别。
    • 使用复选框启用或禁用各项权限。

    :::note 当前用户未持有的权限会显示为禁用状态且无法选择。应用于所有者角色的条件以只读形式显示,并自动应用于该令牌。 :::

  4. 点击 Save(保存) 按钮。新的 Admin token 会显示在界面顶部,并带有一个复制按钮 。

Admin token 权限

:::caution 明文令牌密钥仅在创建或重新生成后立即显示一次。使 Content API 令牌密钥可持久查看的 admin.secrets.encryptionKey 配置不适用于 Admin tokens。无论加密配置如何,Admin token 密钥始终仅限于令牌所有者本人可见。 :::

管理 Admin tokens

Admin tokens 在 Settings > Administration Panel > Admin Tokens 设有专用设置页面。Admin tokens 与 API tokens 存储在同一张数据库表中(通过 kind 字段区分),但在管理面板中通过相互独立的界面进行管理。

Admin Tokens 页面会显示一个 Owner(所有者) 列,展示每个令牌所有者的显示名称。

任何能够访问 Admin Tokens 设置页面的用户都可以查看 Admin tokens。但令牌只能由其所有者或超级管理员进行编辑或删除。

当超级管理员查看由其他用户拥有的 Admin token 时,令牌详情面板中会出现只读的 Owner(所有者) 字段。权限面板仅显示该令牌所有者权限范围内的复选框,而非超级管理员的无限制访问权限。

从某个角色中移除一项权限,会导致拥有该角色的用户所持有的 Admin tokens 自动删除相应的权限。

:::caution Owner 账户停用与删除

  • 如果令牌所有者的账户被删除,该用户拥有的所有 Admin tokens 及其关联权限都会被自动删除,且无法恢复。在为拥有令牌的团队成员办理离职前,请先轮换并替换其 Admin tokens。
  • 如果令牌所有者的账户被停用或封禁,任何使用该所有者 Admin token 进行身份验证的请求都将被拒绝。令牌本身不会被删除。重新激活或解封所有者即可恢复令牌功能。 :::

重新生成 Admin token

Regenerate(重新生成) 按钮仅对令牌所有者可见。其他用户(包括超级管理员)在查看非自己拥有的令牌时看不到此按钮。

要重新生成 Admin token:

  1. 点击该 Admin token 的编辑按钮。
  2. 点击 Regenerate(重新生成) 按钮。
  3. 在对话框中点击 Regenerate(重新生成) 按钮以确认。
  4. 复制显示在界面顶部的新 Admin token。

使用

使用 Admin tokens 可以让你以已验证用户的身份,在 Strapi 的 admin 路由上执行请求。

Admin tokens 有助于在不管理用户账户的情况下,向人员或应用程序授予访问权限,例如连接一个 MCP 服务器或 CI/CD 流水线。

在向 Strapi 的 admin 路由发起请求时,应将 Admin token 以如下语法添加到请求的 Authorization 头中:bearer your-admin-token。

:::caution 切勿在客户端代码中暴露 Admin tokens。应将其存储在密钥管理器或环境变量中。 :::