OAuth¶
OpenClaw prend en charge lâ« authentification par abonnement » via OAuth pour les fournisseurs qui la proposent (notamment OpenAI Codex (ChatGPT OAuth)). Pour les abonnements Anthropic, utilisez le flux setup-token. Cette page explique :
- 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)
OpenClaw prend également en charge des plugins de fournisseurs qui embarquent leurs propres flux OAuth ou par clé API. Exécutez-les via :
openclaw models auth login --provider <id>
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 « dĂ©connectĂ© » alĂ©atoirement plus tard
Pour réduire cela, OpenClaw traite auth-profiles.json comme un puits à jetons :
- lâexĂ©cution lit les identifiants depuis un seul endroit
- nous pouvons conserver plusieurs profils et les router de maniÚre déterministe
Stockage (oĂč vivent les jetons)¶
Les secrets sont stockés par agent :
- Profils dâauthentification (OAuth + clĂ©s API) :
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - Cache dâexĂ©cution (gĂ©rĂ© automatiquement ; ne pas modifier) :
~/.openclaw/agents/<agentId>/agent/auth.json
Fichier hérité, import uniquement (toujours pris en charge, mais pas le stockage principal) :
~/.openclaw/credentials/oauth.json(importé dansauth-profiles.jsonlors de la premiÚre utilisation)
Tout ce qui prĂ©cĂšde respecte Ă©galement $OPENCLAW_STATE_DIR (remplacement du rĂ©pertoire dâĂ©tat). RĂ©fĂ©rence complĂšte : /gateway/configuration
Setup-token Anthropic (authentification par abonnement)¶
ExĂ©cutez claude setup-token sur nâimporte quelle machine, puis collez-le dans OpenClaw :
openclaw models auth setup-token --provider anthropic
Si vous avez généré le jeton ailleurs, collez-le manuellement :
openclaw models auth paste-token --provider anthropic
Vérifier :
openclaw models status
Ăchange OAuth (comment fonctionne la connexion)¶
Les flux de connexion interactifs dâOpenClaw sont implĂ©mentĂ©s dans @mariozechner/pi-ai et reliĂ©s aux assistants/commandes.
Setup-token Anthropic (Claude Pro/Max)¶
Forme du flux :
- exécuter
claude setup-token - coller le jeton dans OpenClaw
- stocker comme profil dâauthentification par jeton (sans actualisation)
Le chemin de lâassistant est openclaw onboard â choix dâauthentification setup-token (Anthropic).
OpenAI Codex (ChatGPT OAuth)¶
Forme du flux (PKCE) :
- générer le vérificateur/défi PKCE + un
statealéatoire - ouvrir
https://auth.openai.com/oauth/authorize?... - tenter de capturer le rappel sur
http://127.0.0.1:1455/auth/callback - si le rappel ne peut pas sâattacher (ou si vous ĂȘtes distant/sans interface), collez lâURL de redirection/le code
- Ă©changer Ă
https://auth.openai.com/oauth/token - extraire
accountIddepuis le jeton dâaccĂšs et stocker{ access, refresh, expires, accountId }
Le chemin de lâassistant est openclaw onboard â choix dâauthentification openai-codex.
Actualisation + expiration¶
Les profils stockent un horodatage expires.
Ă lâexĂ©cution :
- si
expiresest dans le futur â utiliser le jeton dâaccĂšs stockĂ© - sâil est expirĂ© â actualiser (sous verrou de fichier) et Ă©craser les identifiants stockĂ©s
Le flux dâactualisation est automatique ; vous nâavez gĂ©nĂ©ralement pas besoin de gĂ©rer les jetons manuellement.
Comptes multiples (profils) + routage¶
Deux modĂšles :
1. Préféré : 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) :
openclaw agents add work
openclaw agents add personal
Configurez ensuite lâauthentification par agent (assistant) et routez les discussions vers le bon agent.
2. Avancé : plusieurs profils dans un seul agent¶
auth-profiles.json prend en charge plusieurs identifiants de profil pour un mĂȘme fournisseur.
Choisissez quel profil est utilisé :
- globalement via lâordre de configuration (
auth.order) - par session via
/model ...@<profileId>
Exemple (remplacement par session) :
/model Opus@anthropic:work
Comment voir quels identifiants de profil existent :
openclaw channels list --json(afficheauth[])
Documentation connexe :
- /concepts/model-failover (rĂšgles de rotation + temporisation)
- /tools/slash-commands (surface des commandes)