Gateway
Kimlik doğrulama kimlik bilgisi semantiği
Bu belge, şunlar genelinde kullanılan kanonik kimlik bilgisi uygunluğu ve çözümleme semantiklerini tanımlar:
resolveAuthProfileOrderresolveApiKeyForProfilemodels status --probedoctor-auth
Amaç, seçim zamanı ve çalışma zamanı davranışını uyumlu tutmaktır.
Kararlı yoklama neden kodları
okexcluded_by_auth_ordermissing_credentialinvalid_expiresexpiredunresolved_refno_model
Token kimlik bilgileri
Token kimlik bilgileri (type: "token") satır içi token ve/veya tokenRef desteği sunar.
Uygunluk kuralları
- Hem
tokenhem detokenRefyoksa bir token profili uygun değildir. expiresisteğe bağlıdır.expiresmevcutsa,0değerinden büyük sonlu bir sayı olmalıdır.expiresgeçersizse (NaN,0, negatif, sonlu olmayan veya yanlış tür), profilinvalid_expiresile uygun değildir.expiresgeçmişteyse, profilexpiredile uygun değildir.tokenRef,expiresdoğrulamasını atlatmaz.
Çözümleme kuralları
- Çözümleyici semantikleri,
expiresiçin uygunluk semantikleriyle eşleşir. - Uygun profiller için token materyali satır içi değerden veya
tokenRefüzerinden çözümlenebilir. - Çözümlenemeyen referanslar,
models status --probeçıktısındaunresolved_refüretir.
Agent kopya taşınabilirliği
Agent kimlik doğrulama kalıtımı geçişli okuma şeklindedir. Bir agent yerel profile sahip olmadığında, çalışma zamanında gizli materyali kendi auth-profiles.json dosyasına kopyalamadan varsayılan/ana agent deposundan profilleri çözümleyebilir.
openclaw agents add gibi açık kopyalama akışları şu taşınabilirlik politikasını kullanır:
api_keyprofilleri,copyToAgents: falseolmadığı sürece taşınabilirdir.tokenprofilleri,copyToAgents: falseolmadığı sürece taşınabilirdir.oauthprofilleri varsayılan olarak taşınabilir değildir, çünkü yenileme tokenları tek kullanımlık veya rotasyona duyarlı olabilir.- Sağlayıcıya ait OAuth akışları, yenileme materyalinin agentlar arasında kopyalanmasının güvenli olduğu bilindiğinde yalnızca
copyToAgents: trueile dahil olmayı seçebilir.
Taşınabilir olmayan profiller, hedef agent ayrı oturum açıp kendi yerel profilini oluşturmadığı sürece geçişli okuma kalıtımı üzerinden kullanılabilir kalır.
Yalnızca yapılandırma kimlik doğrulama rotaları
mode: "aws-sdk" içeren auth.profiles girdileri, saklanan kimlik bilgileri değil, yönlendirme meta verileridir. Hedef sağlayıcı models.providers.<id>.auth: "aws-sdk" kullandığında veya Plugin'e ait Amazon Bedrock kurulumu AWS SDK rotasını kullandığında geçerlidirler. Bu profil kimlikleri, auth-profiles.json içinde eşleşen bir girdi olmasa bile auth.order içinde ve oturum geçersiz kılmalarında görünebilir.
auth-profiles.json içine type: "aws-sdk" yazmayın. Eski bir kurulumda böyle bir işaretleyici varsa, openclaw doctor --fix bunu auth.profiles içine taşır ve işaretleyiciyi kimlik bilgisi deposundan kaldırır.
Açık kimlik doğrulama sırası filtreleme
- Bir sağlayıcı için
auth.order.<provider>veya auth-store sıra geçersiz kılması ayarlandığında,models status --probeyalnızca o sağlayıcı için çözümlenen kimlik doğrulama sırasında kalan profil kimliklerini yoklar. - Açık sıradan çıkarılmış olan, o sağlayıcıya ait saklanan bir profil daha sonra sessizce denenmez. Yoklama çıktısı bunu
reasonCode: excluded_by_auth_orderveExcluded by auth.order for this provider.ayrıntısıyla bildirir.
Yoklama hedefi çözümlemesi
- Yoklama hedefleri kimlik doğrulama profillerinden, ortam kimlik bilgilerinden veya
models.jsondosyasından gelebilir. - Bir sağlayıcının kimlik bilgileri varsa ancak OpenClaw onun için yoklanabilir bir model adayı çözümleyemiyorsa,
models status --probereasonCode: no_modelilestatus: no_modelbildirir.
Harici CLI kimlik bilgisi keşfi
- Harici CLI'lara ait yalnızca çalışma zamanı kimlik bilgileri, yalnızca sağlayıcı, çalışma zamanı veya kimlik doğrulama profili mevcut işlem kapsamında olduğunda ya da bu harici kaynak için saklanan yerel bir profil zaten mevcut olduğunda keşfedilir.
- Auth-store çağıranları açık bir harici CLI keşif modu seçmelidir: yalnızca kalıcı/Plugin kimlik doğrulaması için
none, zaten saklanan harici CLI profillerini yenilemek içinexistingveya somut bir sağlayıcı/profil kümesi içinscoped. - Salt okunur/durum yolları
allowKeychainPrompt: falseiletir; yalnızca dosya destekli harici CLI kimlik bilgilerini kullanırlar ve macOS Keychain sonuçlarını okumaz veya yeniden kullanmazlar.
OAuth SecretRef Politika Koruması
- SecretRef girdisi yalnızca statik kimlik bilgileri içindir.
- Bir profil kimlik bilgisi
type: "oauth"ise, SecretRef nesneleri bu profil kimlik bilgisi materyali için desteklenmez. auth.profiles.<id>.mode"oauth"ise, bu profil için SecretRef desteklikeyRef/tokenRefgirdisi reddedilir.- İhlaller, başlatma/yeniden yükleme kimlik doğrulama çözümleme yollarında kesin hatalardır.
Eski Sürümlerle Uyumlu Mesajlaşma
Betik uyumluluğu için, yoklama hataları bu ilk satırı değiştirmeden korur:
Auth profile credentials are missing or expired.
İnsan dostu ayrıntılar ve kararlı neden kodları sonraki satırlara eklenebilir.