删除Cloudflare Build Token

通过Cloudflare API删除Cloudflare Build Token

为什么需要Build Token?

GitHub 默认是私密的(即使是公开仓库,外部系统要监听它的变动也需要授权)。Cloudflare 需要一个合法的身份凭证去读取你的仓库内容。

如何删除Build Token?

在使用 Cloudflare Workers 连接 GitHub 仓库部署项目时,系统会自动生成一个 Build Token。即使项目删除了,Cloudflare上这些Build Token会依旧存在。

Github侧:删除Github的Deploy Key

前往你的仓库SettingsDeploy keys删除。

Image

Cloudflare侧:删除Cloudflare的Build Token

删除User API Token

首先,打开这个页面,找到以build token结尾的API Token并删除该Token。

Image

删除Build Token

登录Cloudflare控制面板后,有一串字符,就是你的账户标识符(Account ID)

Image

dash.cloudflare.com/[账户标识符(Account ID)]

方法一:通过浏览器控制台删除Build Token

此方法使用 Dashboard 内部 API 端点,依赖浏览器 session cookie 认证,不需要 API Token

打开Cloudflare控制面板保持本页面。 Windows 按 F12Ctrl + Shift + J, Mac 按 Command + Option + J。你也可以在网页任意空白处点击鼠标右键,选择“检查”,然后切换到“控制台”标签页。

在控制台页面执行以下代码查询build token uuid,注意替换YOUR_ACCOUNT_ID

首次使用浏览器控制台需要根据提示确认启用

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
const accountId = 'YOUR_ACCOUNT_ID';

async function getBuildToken() { const url = `https://dash.cloudflare.com/api/v4/accounts/${accountId}/builds/tokens`;

  try {
    const response = await fetch(url, {
      method: 'GET',
      headers: {
        'Content-Type': 'application/json',
        'x-cross-site-security': 'dash'
      },
      credentials: "include"
    });

    if (!response.ok) {
      throw new Error(`HTTP error! status: ${response.status}`);
    }

    const data = await response.json();
    console.log('请求成功:', data);
    return data;
  } catch (error) {
    console.error('请求失败:', error);
  }
}

getBuildToken();

控制台输出请求成功后,打开 Network 标签页。在产生的流量中,定位名为 tokens 的 GET 请求。

选中该请求,从 PreviewResponse 中result找到build_token_uuid,即为下文要使用的build token uuid(注意是build_token_uuid,不是cloudflare_token_id)。

之后,在控制台页面执行以下代码删除build token,注意替换YOUR_ACCOUNT_IDYOUR_BUILD_TOKEN_UUID

首次使用浏览器控制台需要根据提示确认启用

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
const accountId = 'YOUR_ACCOUNT_ID';
const buildTokenUuid = 'YOUR_BUILD_TOKEN_UUID';

async function deleteBuildToken() {
  const url = `https://dash.cloudflare.com/api/v4/accounts/${accountId}/builds/tokens/${buildTokenUuid}`;
  
  try {
    const response = await fetch(url, {
      method: 'DELETE',
      headers: {
        'Content-Type': 'application/json',
        'x-cross-site-security': 'dash'
      },
      credentials: "include"
    });

    if (!response.ok) {
      throw new Error(`HTTP error! status: ${response.status}`);
    }

    const data = await response.json();
    console.log('删除成功:', data);
    return data;
  } catch (error) {
    console.error('请求失败:', error);
  }
}

deleteBuildToken();

若控制台返回删除成功,则说明该build token删除成功。

方法二:通过curl删除Build Token

此方法使用 Cloudflare 官方提供的 API 端点,需要API Token

回到这个页面,点击Create Token

Image

选择Edit Cloudflare Workers模板

Image

Account Resources选择你的Cloudflare账号,Zone Resources选择All Zones,点击Continue to summary

Image

点击Create Token

Image

你将会获得以cfut_开头的User API Token。如果你的账号在2026年4月之前使用过User API Token且未更换,可能没有cfut_前缀。留存好这个Token,只会出现一次。

之后,我们使用curl命令发送GET请求查询build token uuid

1
curl -X GET "https://api.cloudflare.com/client/v4/accounts/[账户标识符(Account ID)]/builds/tokens" -H "Authorization: Bearer [Your Token]" -H "Content-Type: application/json"

注意替换[账户标识符(Account ID)][Your Token]

响应如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
{
  "result": [
    {
      "build_token_uuid": "[build token uuid]",
      "owner_type": "user",
      "build_token_name": "REDACTED",
      "cloudflare_token_id": "REDACTED"
    }
  ],
  "success": true,
  "errors": [],
  "messages": [],
  "result_info": {
    "next_page": false,
    "page": 1,
    "per_page": 50,
    "count": 1,
    "total_count": 1,
    "total_pages": 1
  }
}

build_token_uuid的值即为build token uuid,记录下build token uuid,再使用curl命令发送DELETE请求删除这个build token(注意是build_token_uuid,不是cloudflare_token_id)

1
curl -X DELETE "https://api.cloudflare.com/client/v4/accounts/[账户标识符(Account ID)]/builds/tokens/[build token uuid]" -H "Authorization: Bearer [Your Token]" -H "Content-Type: application/json"

注意替换[账户标识符(Account ID)][build token uuid][Your Token]

若响应如下,则说明该build token删除成功。

1
2
3
4
5
6
{
  "result": "ok",
  "success": true,
  "errors": [],
  "messages": []
}

最后,删除刚才创建的User API Token,以免意外泄露

Image

使用 Hugo 构建
主题 StackJimmy 设计