Abonnements OAuth
Claudex supporte l’authentification OAuth pour 7 fournisseurs, vous permettant d’utiliser vos abonnements existants (Claude Max, ChatGPT Plus, GitHub Copilot, etc.) sans cles API separees.
Vue d’ensemble
Section intitulée « Vue d’ensemble »Au lieu de fournir une api_key, vous configurez auth_type = "oauth" et specifiez un oauth_provider. Claudex gere la chaine complete de credentials : lecture des tokens depuis les configs CLI natifs, execution des flux Device Code, stockage des tokens dans le trousseau systeme, et rafraichissement automatique avant expiration.
[[profiles]]name = "codex-sub"provider_type = "OpenAIResponses"base_url = "https://chatgpt.com/backend-api/codex"default_model = "gpt-5.3-codex"auth_type = "oauth"oauth_provider = "openai"Fournisseurs supportes
Section intitulée « Fournisseurs supportes »| Fournisseur | oauth_provider | Methode de connexion | Repli |
|---|---|---|---|
| Claude | claude | Lit ~/.claude/.credentials.json | — |
| ChatGPT/Codex | openai | PKCE navigateur ou Device Code | ~/.codex/auth.json (Codex CLI) |
| Google Gemini | google | Lit les credentials du Gemini CLI | — |
| Kimi | kimi | Lit les credentials du Kimi CLI | — |
| Qwen | qwen | Flux Device Code | — |
| GitHub Copilot | github | Flux Device Code | ~/.config/github-copilot/ |
| GitLab Duo | gitlab | Variable d’environnement GITLAB_TOKEN | — |
Chaine de credentials
Section intitulée « Chaine de credentials »Chaque fournisseur suit un patron de chaine de credentials :
- Verifier le trousseau systeme pour un token precedemment stocke
- Lire depuis la config CLI native (chemins specifiques au fournisseur)
- Initier un flux OAuth (PKCE navigateur ou Device Code) si aucun token n’est trouve
Une fois obtenu, les tokens sont stockes dans le trousseau systeme pour les utilisations suivantes.
Gestion des tokens
Section intitulée « Gestion des tokens »Structure du token
Section intitulée « Structure du token »OAuthToken { access_token: String, refresh_token: Option<String>, expires_at: Option<i64>, // Unix milliseconds token_type: Option<String>, scopes: Option<Vec<String>>, extra: Option<Value>, // provider-specific data}Rafraichissement automatique
Section intitulée « Rafraichissement automatique »Le proxy verifie l’expiration du token avant chaque requete. Si un token est a moins de 60 secondes de l’expiration :
- Tente de rafraichir en utilisant le
refresh_token(si disponible) - En cas de succes, met a jour le trousseau
- Si le rafraichissement echoue, invalide le token et demande une reconnexion lors de la prochaine utilisation
Retry 401
Section intitulée « Retry 401 »Quand un fournisseur retourne HTTP 401, le proxy :
- Invalide le token actuel
- Tente un chargement frais du token depuis la chaine de credentials
- Retente la requete une fois avec le nouveau token
- Si le retry echoue, retourne l’erreur a Claude Code
Details par fournisseur
Section intitulée « Details par fournisseur »Les profils OAuth Claude sont speciaux : le proxy est entierement contourne. Quand vous executez un profil OAuth Claude, Claudex lance Claude Code directement sans definir ANTHROPIC_BASE_URL. Claude Code utilise sa propre session OAuth depuis ~/.claude/.credentials.json.
[[profiles]]name = "claude-max"provider_type = "DirectAnthropic"base_url = "https://api.claude.ai"default_model = "claude-sonnet-4-20250514"auth_type = "oauth"oauth_provider = "claude"Aucune etape claudex auth login n’est necessaire. Si vous etes deja connecte a Claude Code, cela fonctionne immediatement.
ChatGPT / Codex
Section intitulée « ChatGPT / Codex »Supporte deux flux OAuth :
- PKCE navigateur : ouvre une fenetre de navigateur pour la connexion OpenAI, recoit le token via un serveur de callback local
- Device Code : pour les environnements headless, affiche un code a saisir sur une URL
Claudex lit egalement les tokens depuis la config du Codex CLI a ~/.codex/auth.json en repli. L’en-tete ChatGPT-Account-ID est auto-extrait du fichier auth du Codex CLI.
# Flux navigateur (defaut)claudex auth login openai --profile codex-sub
# Flux device code (headless)claudex auth login openai --profile codex-sub --headlessGitHub Copilot
Section intitulée « GitHub Copilot »Utilise le flux Device Code de GitHub :
claudex auth login githubaffiche un code d’appareil- Ouvrez
https://github.com/login/deviceet saisissez le code - Le token est stocke dans le trousseau systeme
Se rabat sur la lecture des tokens existants depuis ~/.config/github-copilot/ si disponible.
GitLab Duo
Section intitulée « GitLab Duo »Utilise un Personal Access Token via la variable d’environnement GITLAB_TOKEN :
export GITLAB_TOKEN=glpat-...claudex auth login gitlab --profile gitlab-duoPour les instances GitLab auto-hebergees :
claudex auth login gitlab --enterprise-url https://gitlab.mycompany.com --profile gitlab-duoGoogle Gemini
Section intitulée « Google Gemini »Lit les credentials depuis la configuration du Gemini CLI. Installez et authentifiez-vous d’abord avec le Gemini CLI, puis claudex auth login google lit le token stocke.
Utilise le flux OAuth Device Code. Claudex affiche un code et une URL pour l’authentification :
claudex auth login qwen --profile qwen-oauth# Affiche : Go to https://... and enter code: XXXX-XXXXLit les credentials depuis la configuration du Kimi CLI, similaire au flux Google Gemini.
Mode Gateway Auth
Section intitulée « Mode Gateway Auth »Lors du lancement de Claude Code avec un profil OAuth (sauf Claude), Claudex definit :
ANTHROPIC_AUTH_TOKEN=claudex-passthroughCela utilise l’en-tete Authorization: Bearer au lieu de X-Api-Key, evitant les conflits avec le mecanisme ANTHROPIC_API_KEY propre a Claude Code. Le proxy remplace ensuite le token passthrough par le veritable token OAuth.
Commandes CLI
Section intitulée « Commandes CLI »# Se connecter a un fournisseurclaudex auth login <PROVIDER> [--profile <NAME>] [--enterprise-url <URL>] [--headless]
# Verifier le statut auth pour tous les profils OAuthclaudex auth status
# Verifier un fournisseur specifiqueclaudex auth status openai
# Rafraichir manuellement un tokenclaudex auth refresh <PROVIDER>
# Supprimer les tokens stockesclaudex auth logout <PROVIDER>Valeurs par defaut des fournisseurs
Section intitulée « Valeurs par defaut des fournisseurs »Quand vous creez un profil avec auth_type = "oauth", chaque fournisseur dispose de valeurs par defaut integrees pour base_url, provider_type et default_model :
| Fournisseur | base_url par defaut | provider_type par defaut | Modele par defaut |
|---|---|---|---|
| Claude | https://api.claude.ai | DirectAnthropic | claude-sonnet-4-20250514 |
| ChatGPT | https://chatgpt.com/backend-api/codex | OpenAIResponses | gpt-5.3-codex |
| GitHub | https://api.githubcopilot.com | OpenAICompatible | gpt-4o |
| GitLab | https://gitlab.com/api/v4/ai/llm/proxy | OpenAICompatible | claude-sonnet-4-20250514 |
https://generativelanguage.googleapis.com/v1beta/openai | OpenAICompatible | gemini-2.5-pro | |
| Qwen | https://chat.qwen.ai/api | OpenAICompatible | qwen3-235b-a22b |
| Kimi | https://api.moonshot.cn/v1 | OpenAICompatible | kimi-k2-0905-preview |
Ces valeurs par defaut sont utilisees si vous omettez base_url ou default_model dans la configuration du profil.