← 返回首页
team账号免oauth登录使用codex
这篇整理的是 Linux.do 论坛里一篇关于 Team 账号免 OAuth 登录使用 Codex 的方法:开启个人访问令牌后,将 token 配到 Codex CLI / Codex App,或者转成 CPA 可导入的格式,并通过自定义请求头使用。
1、首先开启允许用户创建个人访问令牌

2、创建访问令牌

3、codex app或者cli使用可以执行下面命令配置
$env:CODEX_ACCESS_TOKEN = "你的_token"
$env:CODEX_ACCESS_TOKEN | codex login --with-access-token
或者修改auth.json配置文件
{
"OPENAI_API_KEY": null,
"personal_access_token": "你的token"
}
然后就可以用codex了
4、CPA里也可以使用
首先登录网页版访问/api/auth/session然后转CPA格式导入CPA里,重点是接下来配置自定义请求头。
{
"authorization": "Bearer 你的token"
}

自动获取CPA格式json文件脚本
const codex_token = "你创建的Accesstoken";
(async () => {
try {
const response = await fetch("https://chatgpt.com/api/auth/session");
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
const data = await response.json();
const now = new Date();
const tzOffset = -now.getTimezoneOffset();
const pad = (n) => String(n).padStart(2, "0");
const sign = tzOffset >= 0 ? "+" : "-";
const offsetHours = pad(Math.floor(Math.abs(tzOffset) / 60));
const offsetMinutes = pad(Math.abs(tzOffset) % 60);
const lastRefresh = `${now.getFullYear()}-${pad(now.getMonth() + 1)}-${pad(now.getDate())}T${pad(now.getHours())}:${pad(now.getMinutes())}:${pad(now.getSeconds())}${sign}${offsetHours}:${offsetMinutes}`;
const output = {
access_token: data.accessToken,
account_id: data.account.id,
disabled: false,
email: data.user.email,
expired: "2026-12-31T10:00:00+08:00",
headers: {
authorization: "Bearer "+codex_token,
},
id_token: null,
last_refresh: lastRefresh,
refresh_token: null,
type: "codex",
};
const blob = new Blob([JSON.stringify(output, null, 4)], { type: "application/json" });
const url = URL.createObjectURL(blob);
const link = document.createElement("a");
link.href = url;
link.download = data.user.email + ".json";
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
URL.revokeObjectURL(url);
} catch (error) {
console.error("导出 token 失败:", error);
}
})();
原文出处linux.do