乐于分享
好东西不私藏

【openclaw】彻底解决 Codex 认证失败问题

【openclaw】彻底解决 Codex 认证失败问题

解决 openclaw codex 认证失败

OpenAI OAuth failed

Error: Token exchange failed

绕过openclaw codex oauth 认证失败,直接使用 codex 本地认证 token

本文主要解决的问题 :

团队版 Codex 无 Api Key,集成 Openclaw 使用 openai-codexoauth认证失败。

现象: 单独使用 命令行 登陆使用 Codex 没有问题,Opencalw 集成认证时跳转的网页也是认证成果的,但是最后回调时Openclaw确显示认证失败,无法集成

命令行单独使用

Openclaw 认证跳转网页认证成功

openclaw 认证失败

解决方法

  1. 本地 cli命令行 登录 Codex
  2. 找到 auth.jsonwindows/用户名/.codex目录, wsl 或者 linux 在 ~/.codex  目录
  3. 进入 openclawagent 目录 ~/.openclaw/agents/main/agent, 如果你只配置了一个Agent则是这个路径,如果有多个则按照你的Agent-id来进行拼接~/.openclaw/agents/{agent-id}/agent,如果~/.openclaw/agents/{agent-id}下没有 agent目录则新增
  4. 修改或新建 auth-profiles.json 文件
  5. 将之前的本地登录后的auth.json文件中的内容提取出来

    {

      "auth_mode": "chatgpt",

      "OPENAI_API_KEY": null,

      "tokens": {

        "id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6ImIxZGQzZjhmLTlhYWQtNDdmZS1iMGU3LWVkYjAwOTc3N2Q2YiIsInR5cCI6IkpXVCJ9.eyJhdF9oYXNoIjoiTFRwT09jRGItLWxaZnNPZVljY1hadyIsImF1ZCI6WyJhcHBfRU1vYW1FRVo3M2YwQ2tYYVdsadasdasadat7ImlkIjoib3JnLWRzYVZIUGdOS0k3cDVQZEgxajlWR3N6SSIsImlzX2RlZmF1bHQiOnRydWUsInJvbGUiOiJvd25lciIsInRpdGxlIjoiUGVyc29uYWwifV0sInVzZXJfaWQiOiJ1c2VyLXpMRFBiVFNpT1NObDNHSG4yU1hFVTYwMyJ9LCJpYXQiOjE3NzU1NzI2NDIsImlzcyI6Imh0dHBzOi8vYXV0aC5vcGVuYWkuY29tIiwianRpIjoiYTdjZjZhMDctOTFkMi00MTgzLTg1NWYtZmM0OGVkNjI2NDI2IiwibmFtZSI6IndhbmcgemhvdSIsInJhdCI6MTc3NTU3MjUxOSwic2lkIjoiNmIyNmQ0ODYtZjBiZS00ZDgzLTljMTYtMjlkMmQ2NWY3OTdhIiwic3ViIjoiZ29vZ2xlLW9hdXRoMnwxMDI0NTU0MDIyODA4NjI1ODI4OTUifQ.Jw-3wrX4ZVpm_5rIbASDPH7oszxrEi6hQr2Tz_L5ASnnv5TOYX9WEbNnzWKS86fy7zfyapEdQcU5SLsCx_Ysb6b2wIYWrkFflBZlCH0Qc09FdH0NAnrq6ygJNn9GIvLyR4ZxIeGhjkWSl0ZPW-BcQ5hxkLwrem-PAmh6a8FvCI1un9jUjneQtQX9_7P3gVubgrNIqldQH55HN7HkjhXPz6h6Fn0TaUOWtVpmzCGCwK7-OcBAo0Np9tOOIKiABAPJrYwwYS7btDbxM4PmqBCiIeoBOtOv5ERofSk3eQSwhGGh_TF3fb7lv8TvujZphlrM_vTHfd2V3xUatmY1g8vNfnbyWNGrkSmtsYKoDvm_P0KADT31GBw3rnGQ4_a3zs78g28BnS5VCA7vBEuzJHU4TA_D0tnDTLnG-CF46gzV9zds-VYWiX8I9DOQCfwvf5CH5gxoTyM2qhvJtd1Axft7UOl1Vac2AzI_JXQa5PxEjnp0c-QrduC0Mrq5WbvWQP1XK4DnArF6a_QvWDvPrxtpZsr316EINLF9axQT8Bysez7G4vnhuRLdIx5EchQqoLJ6esNkzOr9aQD56z6K-0JaPoUVqgvkvbBKOEv31VCe2sHHEnPyOpHMWuVIDtmFuufNxyFdZvt9F1SseP1AoOhpg2eKRON3wwnIwlcpxz0TsC4",

        "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjE5MzQ0ZTY1LWJiYzktNDRkMS1hOWQwLWY5NTdiMDc5YmQwZSIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiaHR0cHM6Ly9hcGkub3BlbmFpLmNvbS92MSJdLCJjbGllbnRfaWQiOiJhcHBfRU1vYW1FRVo3M2YwQ2tYYVhwN2hyYW5uIiwiZXhwIjoxNzc2NDM2NjQyLCJodHRwczovL2FwaS5vcGVuYWkuY29tL2F1dGgiOnsiY2hhdsdasdadasdI6dHJ1ZX0sImlhdCI6MTc3NTU3MjY0MiwiaXNzIjoiaHR0cHM6Ly9hdXRoLm9wZW5haS5jb20iLCJqdGkiOiJlZWFiZjJlOS05MzE5LTQyY2ItYmZlMy04N2M2ZTlhMjFiZTQiLCJuYmYiOjE3NzU1NzI2NDIsInB3ZF9hdXRoX3RpbWUiOjE3NzU1NzI2Mzk5MTksInNjcCI6WyJvcGVuaWQiLCJwcm9maWxlIiwiZW1haWwiLCJvZmZsaW5lX2FjY2VzcyIsImFwaS5jb25uZWN0b3JzLnJlYWQiLCJhcGkuY29ubmVjdG9ycy5pbnZva2UiXSwic2Vzc2lvbl9pZCI6ImF1dGhzZXNzX09oOW1vTGw4NU54eFB5N3I0S1ByTTFBMCIsInNsIjp0cnVlLCJzdWIiOiJnb29nbGUtb2F1dGgyfDEwMjQ1NTQwMjI4MDg2MjU4Mjg5NSJ9.mZFDl48LwRk56QYXuxNsRNLlWrdeCJxFWGNVa6TegPeIDSihWn1wQQfyiVpzbRxJ5hiiJk3IU4L61pUhtT-RjunEdsgLP-9G5vFk7-GtZqrPNftUvNTC6FLT2StvTFlLusoRPsCq8U3YlW2H68AowxVRgHYjK_ItPEBDX1-pptmtzZ1l9XaN90Hg3nfPvu4umMuU5wlXFJtbzct1WzzzhvwUHsnesKYg3_1rBxygR0Uv8cqo_p5EDcydI7zh6Yv8xw2KqIpcV2XQVcKhH-_x9fN4Ke28H7brvgX59IrmgFC0WU5rYxO_o4l-JetWlplfXubxzWxsiNr67i_b6Evc6BlVZpxcGq43-kb-kzTIgIvd3hPDFt0wAE_Gf_b0HQzYY6qBlHBxDfvQybiIOFcy7EWTL085ZcrPox9taSjGwW4ZsoGdStldVmT4VJDJ0TjIj5jIuyjssqwBSQCwOHqdyUW4Iwfyc--WwP9VVp25zcdJyFX2UAcYyufAPKG5GkGUvSXGFBNEIQ7DYUKtb-ALkvFJKhFqBblkQkQbify8KaUo-EC7e4w9B2NNBe47wudI3oUsOGcgAsQENSOi45_eN7TSQ2kyPuNfnMWJtdFsw6577wYWk7S9_pkw7pKAhoR0NFypRhjqmrE1kp5kTdc_gbeianJv3UuDqtktT3PUdz0",

        "refresh_token": "rt_g3MXvek9c5OxUb1P7svP9lYkhhu5-MNOWRvrrfKBC-I._igDFgVEA8Hb8b05wALsdadagWo6njdtCp81D35XTfbM74tQ",

        "account_id": "e7asdasaa930b-374a-442b-a84d-640d38277a49"

      },

      "last_refresh": "2026-04-07T14:37:23.394214192Z"

    }

  6. 按照这个格式将auth.json的数据填入并写入 auth-profiles.json

    映射关系 access_token -> accessrefresh_token -> refreshaccount_id -> accountId

    last_refresh -> expires(last_refresh  + 8小时 转成时间戳)

    {

      "version": 1,

      "profiles": {

        "openai-codex:default": {

          "type": "oauth",

          "provider": "openai-codex",

          "access": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjE5MzQ0ZTY1LWJiYzktNDRkMS1hOWQwLWY5NTdiMDc5YmQwZSIsInR5cCI6IkpXVCJ9.e.......",

          "refresh": "rt_K82IBk1WBfxOlSFjvKZIm21xUuaLwLicVVsIQG18bn4.gB8uhsXcBIs",

          "expires": 1776414669925,

          "accountId": "e7aa930b-374a-442b-a84d-6477a49"

        }

      },

      "usageStats": {

        "openai-codex:default": {

          "errorCount": 0,

          "lastUsed": 1775550669925

        }

      }

    }

重启验证

查看 openclaw models list

重启网关 openclaw gateway restart

正常使用

至此认证成功,希望对您有帮助 ~~~