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 destekler.
Uygunluk kuralları
- Bir token profilinde hem
tokenhem detokenRefyoksa profil uygun değildir. expiresisteğe bağlıdır.expiresvarsa,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 ref'ler
models status --probeçıktısındaunresolved_refüretir.
Ajan kopyası taşınabilirliği
Ajan kimlik doğrulama devralımı read-through çalışır. Bir ajanın yerel profili olmadığında, çalışma zamanında gizli materyali kendi auth-profiles.json dosyasına kopyalamadan varsayılan/ana ajan deposundaki profilleri çözümleyebilir.
openclaw agents add gibi açık kopyalama akışları şu taşınabilirlik ilkesini kullanır:
api_keyprofilleri,copyToAgents: falseolmadıkça taşınabilirdir.tokenprofilleri,copyToAgents: falseolmadıkça taşınabilirdir.oauthprofilleri varsayılan olarak taşınabilir değildir çünkü yenileme token'ları tek kullanımlık veya rotasyona duyarlı olabilir.- Sağlayıcıya ait OAuth akışları, yalnızca yenileme materyalinin ajanlar arasında kopyalanmasının güvenli olduğu bilindiğinde
copyToAgents: trueile katılabilir.
Taşınabilir olmayan profiller, hedef ajan ayrı olarak oturum açıp kendi yerel profilini oluşturmadıkça read-through devralım yoluyla kullanılabilir kalır.
Yalnızca yapılandırmaya dayalı kimlik doğrulama rotaları
mode: "aws-sdk" değerine sahip auth.profiles girdileri, saklanan kimlik bilgileri değil, yönlendirme meta verileridir. Hedef sağlayıcı models.providers.<id>.auth: "aws-sdk" veya yerleşik Amazon Bedrock varsayılan 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 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şaret varsa, openclaw doctor --fix bunu auth.profiles konumuna taşır ve işareti 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ılan, o sağlayıcıya ait saklanan 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ümleme
- 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 geçerli işlem kapsamında olduğunda ya da bu harici kaynak için saklanan yerel 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: falsegeçirir; yalnızca dosya destekli harici CLI kimlik bilgilerini kullanır ve macOS Keychain sonuçlarını okumaz veya yeniden kullanmaz.
OAuth SecretRef İlke 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 sistemle uyumlu mesajlaşma
Betik uyumluluğu için yoklama hataları şu ilk satırı değişmeden tutar:
Auth profile credentials are missing or expired.
İnsan dostu ayrıntı ve kararlı neden kodları sonraki satırlara eklenebilir.