解决 Codex 在 WSL/SSH/VSCODE 登录时报 “Token exchange failed: 403 Forbidden” 问题

在 使用 Codex 登录时,很多人会遇到这样的错误提示:

复制代码
Token exchange failed: token endpoint returned status 403 Forbidden

具体来说就是你能打开登录界面 ,但是登录后直接黑屏连接不上。

这其实是因为 Codex CLI 在登录时会启动一个本地的 OAuth 回调服务器,用于接收浏览器的登录回调。但在 WSL 环境中,Windows 与 Linux 之间的端口转发机制有时会出问题,导致认证流程中断。

一、问题原因分析

Codex CLI 登录流程如下:

  1. CLI 在 WSL 中启动本地回调服务器,例如

    复制代码
    http://localhost:1455
  2. CLI 打开一个登录链接(通常用浏览器打开),完成授权后浏览器会尝试重定向回:

    复制代码
    http://localhost:1455/?code=...
  3. 理论上,Windows 浏览器访问的 localhost 应该能自动映射到 WSL 的 127.0.0.1,从而回调成功。

但是在一些环境中,这个回调会失败,常见原因包括:

  • 🔥 防火墙或杀毒软件拦截了 Windows → WSL 的回环连接;

  • 🌐 IPv6 与 IPv4 解析不一致(localhost 指向 ::1 而非 127.0.0.1);

  • 💻 浏览器完全在 Windows 侧执行,而 Codex 回调服务器仅在 WSL 内监听。

结果就是:浏览器完成授权后无法访问 WSL 内的回调端口,CLI 等不到响应,于是报出 403 Forbidden

二、解决方案

核心思路是:在 Windows 侧完成登录,然后把授权凭据复制到 WSL 内。

✅ 步骤 1:在 Windows 侧安装并登录

PowerShell(Windows 端) 里执行:

复制代码
npm install -g @openai/codex codex

根据提示在浏览器中完成登录。

成功后,Codex 会在本地生成凭据文件。

或者你如果成功用wsl或者vscode在别的服务器或者本地登录成功后 都会有这个凭证文件:

复制代码
C:\Users\<你的用户名>\.codex\auth.json

✅ 步骤 2:将凭据复制到 WSL

切换到 WSL 终端,执行:

复制代码
mkdir -p ~/.codex
cp /mnt/c/Users/<你的用户名>/.codex/auth.json ~/.codex/auth.json
chmod 600 ~/.codex/auth.json

说明:

  • /mnt/c/ 是 WSL 挂载的 Windows C 盘;

  • 修改权限是为了避免 CLI 拒绝加载不安全的凭据文件。


✅ 步骤 3:验证是否登录成功

相关推荐
Anarkh_Lee18 小时前
在VSCode中使用MCP实现智能问数
数据库·ide·vscode·ai·编辑器·ai编程·数据库开发
Doro再努力19 小时前
【Linux操作系统07】包管理器与Vim编辑器:从理论到实践的全面解析
linux·编辑器·vim
一心赚狗粮的宇叔21 小时前
VScode常用扩展包&Node.js安装及npm包安装
vscode·npm·node.js·web
紫竹苑主21 小时前
VS Cose + PlatformIO +ESP32-S3 + ESPIDF开发环境安装卡壳持续等待问题解决
vscode·python·嵌入式硬件·物联网·硬件架构
esmap21 小时前
技术解构:ESMAP AI数字孪生赋能传统行业转型的全链路技术方案
人工智能·低代码·ai·架构·编辑器·智慧城市
D11_1 天前
[特殊字符]️ 5379工具箱 - 全部网站链接汇总
服务器·百度·阿里云·typescript·编辑器
奋斗吧程序媛1 天前
常用且好用的命令
前端·编辑器
西木九1 天前
win11 vscode 本地 latex 编译(Elsevier举例)
vscode·latex·学术写作
V胡桃夹子1 天前
VS Code / Lingma AI IDE Java 开发攻略手册
java·ide·人工智能
ONLYOFFICE1 天前
如何在 Fedora 43 ARM 架构设备上安装 ONLYOFFICE 桌面编辑器
arm开发·编辑器