直接回答
認証方式がクレデンシャルの取得元を決めるが、provider がリクエストの送信先を決める。この2つの概念を区別してこそ、ログインとゲートウェイの問題を正しく処理できる。
このガイドで解決できること
Codex CLI ログイン、API Key、サードパーティ互換エンドポイントの設定またはトラブルシュート
まず identity、クレデンシャル、provider を区別する
ChatGPT ログイン、OpenAI API Key、互換ゲートウェイ Key は異なるクレデンシャルの取得元である。model_provider と base_url がリクエストの送信先を決定し、認証設定はその送信先が必要とするクレデンシャルのみを提供する。
API Key ログインでは ChatGPT サブスクリプションの機能が自動的に得られるわけではなく、互換ゲートウェイの設定も OpenAI 公式アカウントのログインとは言えない。CodeNodex は自身の Key と OpenAI Responses 互換エンドポイントを使用する。
- identity: 誰がサービスを使用しているか。
- クレデンシャル: identity を証明するための token または API Key。
- provider:Codex がリクエストを送信するサービス。
- モデル:この provider が受け入れる具体的なモデル識別子。
公式のインタラクティブログインを使用する
codex を直接実行して Sign in with ChatGPT を選択するのは、公式ドキュメントがサポートプランユーザーに推奨する方法です。ログイン後は status で現在の状態を確認し、資格情報ファイルを読み取って有効性を判断しないでください。
共有サーバーでは、複数のユーザーが同じユーザーホームディレクトリとログイン状態を共有することは適していません。ユーザーごとにシステムアカウントを分離するか、組織が承認した API 資格情報フローを使用してください。
codex login
codex login status
codex logout標準入力で OpenAI API Key を提供する
公式 CLI は標準入力から OPENAI_API_KEY を読み取ることをサポートしています。シークレットを現在のプロセスの環境に設定し、printenv のパイプ経由で渡すことで、コマンド引数として shell の履歴に残ることを防げます。
環境変数は同じユーザーの他のプロセスやデバッグツールから参照される可能性があります。使用後は unset を行い、OS とチームの Secret 管理要件に従ってください。
read -rsp "OpenAI API Key: " OPENAI_API_KEY && printf "\n"
export OPENAI_API_KEY
printenv OPENAI_API_KEY | codex login --with-api-key
unset OPENAI_API_KEY
codex login statusCodeNodex CLI に互換ゲートウェイの資格情報を管理させる
CodeNodex CLI は OPENAI_API_KEY をユーザーディレクトリ配下の Codex 認証ファイルに書き込み、provider の設定を config.toml にマージします。まず Key を検証してからバックアップと書き込みを行うため、二つのファイルの手動編集による不一致を回避できます。
CodeNodex アカウントへのログインと Codex の ChatGPT ログインは等価ではありません。CodeNodex provider を使用する場合は、CodeNodex CLI の検証結果と Codex doctor を基準にしてください。
codenodex login -o https://token.codenodex.com
codenodex setup --client codex
codex doctor --summary資格情報のセキュリティ境界を確立する
認証ファイルはユーザーのホームディレクトリに配置し、プロジェクト、イメージ、成果物にはコピーしないでください。トラブルシューティングの際は auth.json を直接貼り付けず、doctor のマスキングレポートと資格情報を含まない provider のスニペットを優先して共有してください。
ローテーション時は、先に新規 Key を作成して検証を完了させてから、古い Key を失効させてください。これにより切り替え中の利用不能ウィンドウを縮小でき、エラーが新設定によるものかサービス状態によるものかを確認しやすくなります。
- ~/.codex/auth.json や、実際の Key を含むターミナル履歴をコミットしないでください。
- Dockerfile、イメージレイヤ、公開 CI YAML にシークレットを書き込まないでください。
- 個人用途、CI、および各サーバーにはそれぞれ独立した Key を使用し、失効と監査を容易にしてください。
- 公開イシューレポートを提出する前に、ユーザー名、パス、組織名、リクエストヘッダーを確認してください。
401 とログイン失効を順番にトラブルシュート
まずリクエスト対象を確認し、次に認証情報の取得元、最後に Key の状態を確認します。provider が CodeNodex を指しているのに OpenAI Key を使用している場合や、provider が公式エンドポイントを指しているのに CodeNodex Key しか設定していない場合、いずれも認証失敗として現れます。
設定を繰り返し上書きしないでください。診断結果と現在の provider 名を保存し、base_url を確認してから再度ログインするか setup を実行してください。
codex login status
codex doctor --summary
codenodex keys
# 选择目标 Key 后重新验证并合并
codenodex setup --client codex公式情報と検証範囲
本ガイドは公開されている公式ドキュメントを根拠にしています。コマンドや設定はクライアントのバージョンにより変わるため、実行前に参照元も確認してください。
技術検証方法を見る