Dev

2 threads


chatgpt.com

和 chatgpt 讨论了下 codex 的设备授权方式是怎么实现的。原来是类似于 OAuth,有标准版的叫法:OAuth 2.0 Device Authorization Grant(设备授权模式),也叫 Device Code Flow。

核心的做法在于:调用 login 接口的时候,会同时下发两个码:

  1. device_code:真正的 token

  2. user_code: 对外显示的匹配码,用这个到 chatgpt 里面填写匹配码

在 codex cli 界面里面里面显示的一直都是user_code。device_code 用于内部调用。

因此:即使user_code泄露了也不影响,因为对方机器上没有 device_code, 无法正确发起请求