OAuth
OpenClaw prend en charge l’« authentification par abonnement » via OAuth pour les fournisseurs qui la proposent (notamment OpenAI Codex (ChatGPT OAuth)). Pour Anthropic, la distinction pratique est désormais la suivante :- Clé API Anthropic : facturation normale de l’API Anthropic
- Authentification Anthropic Claude CLI / par abonnement dans OpenClaw : le personnel d’Anthropic nous a indiqué que cet usage est de nouveau autorisé
- comment fonctionne l’échange de jetons OAuth (PKCE)
- où les jetons sont stockés (et pourquoi)
- comment gérer plusieurs comptes (profils + remplacements par session)
Le puits à jetons (pourquoi il existe)
Les fournisseurs OAuth émettent couramment un nouveau jeton d’actualisation lors des flux de connexion/actualisation. Certains fournisseurs (ou clients OAuth) peuvent invalider les anciens jetons d’actualisation lorsqu’un nouveau est émis pour le même utilisateur/la même application. Symptôme pratique :- vous vous connectez via OpenClaw et via Claude Code / Codex CLI → l’un des deux se retrouve ensuite « déconnecté » de manière aléatoire
auth-profiles.json comme un puits à jetons :
- l’environnement d’exécution lit les identifiants depuis un seul endroit
- nous pouvons conserver plusieurs profils et les router de manière déterministe
- lorsque des identifiants sont réutilisés depuis une CLI externe comme Codex CLI, OpenClaw les reflète avec leur provenance et relit cette source externe au lieu de faire tourner lui-même le jeton d’actualisation
Stockage (où vivent les jetons)
Les secrets sont stockés par agent :- Profils d’authentification (OAuth + clés API + références facultatives au niveau des valeurs) :
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - Fichier de compatibilité hérité :
~/.openclaw/agents/<agentId>/agent/auth.json(les entrées statiquesapi_keysont supprimées lorsqu’elles sont détectées)
~/.openclaw/credentials/oauth.json(importé dansauth-profiles.jsonlors de la première utilisation)
$OPENCLAW_STATE_DIR (remplacement du répertoire d’état). Référence complète : /gateway/configuration
Pour les références statiques de secrets et le comportement d’activation des instantanés à l’exécution, voir Gestion des secrets.
Compatibilité avec les jetons hérités Anthropic
OpenClaw expose également le setup-token Anthropic comme chemin pris en charge pour l’authentification par jeton, mais il privilégie désormais la réutilisation de Claude CLI etclaude -p lorsque c’est possible.
Migration Anthropic Claude CLI
OpenClaw prend de nouveau en charge la réutilisation d’Anthropic Claude CLI. Si vous avez déjà une connexion Claude locale sur l’hôte, l’intégration initiale/la configuration peut la réutiliser directement.Échange OAuth (comment fonctionne la connexion)
Les flux de connexion interactifs d’OpenClaw sont implémentés dans@mariozechner/pi-ai et raccordés aux assistants/commandes.
Setup-token Anthropic
Forme du flux :- démarrer le setup-token Anthropic ou coller le jeton depuis OpenClaw
- OpenClaw stocke l’identifiant Anthropic obtenu dans un profil d’authentification
- la sélection du modèle reste sur
anthropic/... - les profils d’authentification Anthropic existants restent disponibles pour le retour arrière/le contrôle de l’ordre
OpenAI Codex (ChatGPT OAuth)
OpenAI Codex OAuth est explicitement pris en charge pour un usage en dehors de Codex CLI, y compris dans les flux de travail OpenClaw. Forme du flux (PKCE) :- générer un vérificateur/défi PKCE + un
statealéatoire - ouvrir
https://auth.openai.com/oauth/authorize?... - essayer de capturer le rappel sur
http://127.0.0.1:1455/auth/callback - si le rappel ne peut pas se lier (ou si vous êtes en distant/sans interface), coller l’URL de redirection/le code
- effectuer l’échange sur
https://auth.openai.com/oauth/token - extraire
accountIddu jeton d’accès et stocker{ access, refresh, expires, accountId }
openclaw onboard → choix d’authentification openai-codex.
Actualisation + expiration
Les profils stockent un horodatageexpires.
À l’exécution :
- si
expiresest dans le futur → utiliser le jeton d’accès stocké - s’il a expiré → actualiser (sous verrou de fichier) et écraser les identifiants stockés
- exception : les identifiants d’une CLI externe réutilisés restent gérés en externe ; OpenClaw relit le stockage d’authentification de la CLI et n’utilise jamais lui-même le jeton d’actualisation copié
Plusieurs comptes (profils) + routage
Deux modèles :1) Recommandé : agents séparés
Si vous voulez que « personnel » et « travail » n’interagissent jamais, utilisez des agents isolés (sessions + identifiants + espace de travail séparés) :2) Avancé : plusieurs profils dans un même agent
auth-profiles.json prend en charge plusieurs identifiants de profil pour le même fournisseur.
Choisissez le profil utilisé :
- globalement via l’ordre de configuration (
auth.order) - par session via
/model ...@<profileId>
/model Opus@anthropic:work
openclaw channels list --json(afficheauth[])
- /concepts/model-failover (règles de rotation + de refroidissement)
- /tools/slash-commands (surface de commande)
Voir aussi
- Authentification — vue d’ensemble de l’authentification des fournisseurs de modèles
- Secrets — stockage des identifiants et SecretRef
- Référence de configuration — clés de configuration d’authentification