OAuth
OpenClaw stöder “prenumerationsförfattar” via OAuth för leverantörer som erbjuder det (särskilt OpenAI Codex (ChatGPT OAuth)). För antropiska prenumerationer, använd setup-token flödet. Denna sida förklarar:- hur OAuth tokenutbyte fungerar (PKCE)
- var token lagras (och varför)
- hur man hanterar flera konton (profiler + åsidosättningar per session)
Token-sänkan (varför den finns)
OAuth leverantörer ofta mint en ny uppdatera token under inloggning/uppdatera flöden. Vissa leverantörer (eller OAuth klienter) kan ogiltigförklara äldre uppdateringstoken när en ny utfärdas för samma användare/app. Praktiskt symptom:- du loggar in via OpenClaw och via Claude Code / Codex CLI → en av dem blir senare slumpmässigt ”utloggad”
auth-profiles.json som en token-sänka:
- körningen läser autentiseringsuppgifter från ett ställe
- vi kan behålla flera profiler och routa dem deterministiskt
Lagring (var token finns)
Hemligheter lagras per agent:- Autentiseringsprofiler (OAuth + API‑nycklar):
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - Runtime-cache (hanteras automatiskt; redigera inte):
~/.openclaw/agents/<agentId>/agent/auth.json
~/.openclaw/credentials/oauth.json(importeras tillauth-profiles.jsonvid första användning)
$OPENCLAW_STATE_DIR (state dir override). Fullständig referens: /gateway/configuration
Anthropic setup-token (prenumerationsautentisering)
Körclaude setup-token på valfri maskin och klistra sedan in den i OpenClaw:
OAuth-utbyte (hur inloggning fungerar)
OpenClaws interaktiva inloggningsflöden är implementerade i@mariozechner/pi-ai och kopplade till guiderna/kommandona.
Anthropic (Claude Pro/Max) setup-token
Flödets form:- kör
claude setup-token - klistra in token i OpenClaw
- lagra som en token‑auth‑profil (ingen uppdatering)
openclaw onboard → auth-val setup-token (Anthropic).
OpenAI Codex (ChatGPT OAuth)
Flödets form (PKCE):- generera PKCE-verifierare/utmaning + slumpmässig
state - öppna
https://auth.openai.com/oauth/authorize?... - försök fånga callback på
http://127.0.0.1:1455/auth/callback - om callback inte kan bindas (eller om du kör remote/headless), klistra in omdirigerings-URL:en/koden
- utbyt vid
https://auth.openai.com/oauth/token - extrahera
accountIdfrån åtkomsttoken och lagra{ access, refresh, expires, accountId }
openclaw onboard → auth-val openai-codex.
Uppdatering + utgång
Profiler lagrar enexpires‑tidsstämpel.
Vid körning:
- om
expiresligger i framtiden → använd den lagrade åtkomsttoken - om den har gått ut → uppdatera (under fillås) och skriv över de lagrade autentiseringsuppgifterna
Flera konton (profiler) + routning
Två mönster:1. Föredraget: separata agenter
Om du vill att ”privat” och ”arbete” aldrig ska interagera, använd isolerade agenter (separata sessioner + autentiseringsuppgifter + arbetsyta):2. Avancerat: flera profiler i en agent
auth-profiles.json stöder flera profil-ID:n för samma leverantör.
Välj vilken profil som används:
- globalt via konfigordning (
auth.order) - per session via
/model ...@<profileId>
/model Opus@anthropic:work
openclaw channels list --json(visarauth[])
- /concepts/model-failover (rotations- + cooldown-regler)
- /tools/slash-commands (kommandoyta)