OAuth
OpenClaw mendukung “autentikasi langganan” melalui OAuth untuk penyedia yang menawarkannya (khususnya OpenAI Codex (ChatGPT OAuth)). Untuk Anthropic, pembagian praktisnya sekarang adalah:- Kunci API Anthropic: penagihan API Anthropic normal
- Autentikasi langganan Anthropic Claude CLI / di dalam OpenClaw: staf Anthropic memberi tahu kami bahwa penggunaan ini diizinkan lagi
- cara kerja pertukaran token OAuth (PKCE)
- tempat token disimpan (dan alasannya)
- cara menangani beberapa akun (profil + override per sesi)
Token sink (mengapa ini ada)
Penyedia OAuth umumnya menerbitkan refresh token baru selama alur login/refresh. Beberapa penyedia (atau klien OAuth) dapat membatalkan refresh token lama ketika token baru diterbitkan untuk pengguna/aplikasi yang sama. Gejala praktis:- Anda login melalui OpenClaw dan melalui Claude Code / Codex CLI → salah satunya nanti secara acak “logout”
auth-profiles.json sebagai token sink:
- runtime membaca kredensial dari satu tempat
- kami dapat menyimpan beberapa profil dan merutekannya secara deterministik
- ketika kredensial digunakan ulang dari CLI eksternal seperti Codex CLI, OpenClaw mencerminkannya dengan provenance dan membaca ulang sumber eksternal tersebut, bukan memutar refresh token itu sendiri
Penyimpanan (tempat token berada)
Rahasia disimpan per-agent:- Profil auth (OAuth + kunci API + ref tingkat nilai opsional):
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - File kompatibilitas legacy:
~/.openclaw/agents/<agentId>/agent/auth.json(entriapi_keystatis akan dibersihkan saat ditemukan)
~/.openclaw/credentials/oauth.json(diimpor keauth-profiles.jsonsaat pertama kali digunakan)
$OPENCLAW_STATE_DIR (override direktori state). Referensi lengkap: /gateway/configuration
Untuk ref rahasia statis dan perilaku aktivasi snapshot runtime, lihat Manajemen Rahasia.
Kompatibilitas token legacy Anthropic
OpenClaw juga mengekspos setup-token Anthropic sebagai jalur token-auth yang didukung, tetapi sekarang lebih memilih penggunaan ulang Claude CLI danclaude -p jika tersedia.
Migrasi Anthropic Claude CLI
OpenClaw kembali mendukung penggunaan ulang Anthropic Claude CLI. Jika Anda sudah memiliki login Claude lokal pada host, onboarding/configure dapat langsung menggunakannya kembali.Pertukaran OAuth (cara login bekerja)
Alur login interaktif OpenClaw diimplementasikan di@mariozechner/pi-ai dan dihubungkan ke wizard/perintah.
Setup-token Anthropic
Bentuk alur:- mulai setup-token Anthropic atau paste-token dari OpenClaw
- OpenClaw menyimpan kredensial Anthropic yang dihasilkan dalam profil auth
- pemilihan model tetap pada
anthropic/... - profil auth Anthropic yang ada tetap tersedia untuk kontrol rollback/urutan
OpenAI Codex (ChatGPT OAuth)
OpenAI Codex OAuth secara eksplisit didukung untuk penggunaan di luar Codex CLI, termasuk alur kerja OpenClaw. Bentuk alur (PKCE):- hasilkan verifier/challenge PKCE +
stateacak - buka
https://auth.openai.com/oauth/authorize?... - coba tangkap callback di
http://127.0.0.1:1455/auth/callback - jika callback tidak dapat bind (atau Anda remote/headless), tempel URL/code redirect
- lakukan pertukaran di
https://auth.openai.com/oauth/token - ekstrak
accountIddari access token dan simpan{ access, refresh, expires, accountId }
openclaw onboard → pilihan auth openai-codex.
Refresh + kedaluwarsa
Profil menyimpan stempel waktuexpires.
Saat runtime:
- jika
expiresmasih di masa depan → gunakan access token yang tersimpan - jika sudah kedaluwarsa → refresh (di bawah file lock) dan timpa kredensial yang tersimpan
- pengecualian: kredensial CLI eksternal yang digunakan ulang tetap dikelola secara eksternal; OpenClaw membaca ulang penyimpanan auth CLI dan tidak pernah menggunakan refresh token yang disalin itu sendiri
Beberapa akun (profil) + perutean
Dua pola:1) Disarankan: agent terpisah
Jika Anda ingin “pribadi” dan “kerja” tidak pernah saling berinteraksi, gunakan agent yang terisolasi (sesi + kredensial + workspace terpisah):2) Lanjutan: beberapa profil dalam satu agent
auth-profiles.json mendukung beberapa ID profil untuk penyedia yang sama.
Pilih profil yang digunakan:
- secara global melalui urutan config (
auth.order) - per sesi melalui
/model ...@<profileId>
/model Opus@anthropic:work
openclaw channels list --json(menampilkanauth[])
- /concepts/model-failover (aturan rotasi + cooldown)
- /tools/slash-commands (permukaan perintah)
Terkait
- Autentikasi — ikhtisar autentikasi penyedia model
- Rahasia — penyimpanan kredensial dan SecretRef
- Referensi Konfigurasi — kunci config auth