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)
OpenClaw stöder också plugins för leverantörer som skickar sina egna OAuth eller API‐key flöden. Kör dem via:
openclaw models auth login --provider <id>
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”
För att minska detta behandlar OpenClaw 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
Äldre fil endast för import (stöds fortfarande, men är inte huvudlagringen):
~/.openclaw/credentials/oauth.json(importeras tillauth-profiles.jsonvid första användning)
Alla ovanstående respekterar också $OPENCLAW_STATE_DIR (state dir override). Fullständig referens: /gateway/configuration
Anthropic setup-token (prenumerationsautentisering)¶
Kör claude setup-token på valfri maskin och klistra sedan in den i OpenClaw:
openclaw models auth setup-token --provider anthropic
Om du genererade token någon annanstans, klistra in den manuellt:
openclaw models auth paste-token --provider anthropic
Verifiera:
openclaw models status
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)
Guidens väg är 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 }
Guidens väg är openclaw onboard → auth-val openai-codex.
Uppdatering + utgång¶
Profiler lagrar en expires‑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
Uppdateringsflödet är automatiskt; du behöver i allmänhet inte hantera token manuellt.
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):
openclaw agents add work
openclaw agents add personal
Konfigurera sedan autentisering per agent (guide) och routa chattar till rätt agent.
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>
Exempel (åsidosättning per session):
/model Opus@anthropic:work
Så ser du vilka profil-ID:n som finns:
openclaw channels list --json(visarauth[])
Relaterad dokumentation:
- /concepts/model-failover (rotations- + cooldown-regler)
- /tools/slash-commands (kommandoyta)