Semantica delle credenziali di autenticazione
Questo documento definisce la semantica canonica di idoneità e risoluzione delle credenziali usata in:resolveAuthProfileOrderresolveApiKeyForProfilemodels status --probedoctor-auth
Codici motivo stabili del probe
okexcluded_by_auth_ordermissing_credentialinvalid_expiresexpiredunresolved_refno_model
Credenziali token
Le credenziali token (type: "token") supportano token inline e/o tokenRef.
Regole di idoneità
- Un profilo token non è idoneo quando sia
tokenchetokenRefsono assenti. expiresè facoltativo.- Se
expiresè presente, deve essere un numero finito maggiore di0. - Se
expiresnon è valido (NaN,0, negativo, non finito o di tipo errato), il profilo non è idoneo coninvalid_expires. - Se
expiresè nel passato, il profilo non è idoneo conexpired. tokenRefnon aggira la convalida diexpires.
Regole di risoluzione
- La semantica del resolver corrisponde alla semantica di idoneità per
expires. - Per i profili idonei, il materiale del token può essere risolto dal valore inline o da
tokenRef. - I ref non risolvibili producono
unresolved_refnell’output dimodels status --probe.
Filtro esplicito dell’ordine di autenticazione
- Quando
auth.order.<provider>o l’override dell’ordine dell’archivio auth è impostato per un provider,models status --probeesegue il probe solo degli id dei profilo che restano nell’ordine auth risolto per quel provider. - Un profilo archiviato per quel provider che viene omesso dall’ordine esplicito non viene
provato silenziosamente in seguito. L’output del probe lo segnala con
reasonCode: excluded_by_auth_ordere il dettaglioExcluded by auth.order for this provider.
Risoluzione della destinazione del probe
- Le destinazioni del probe possono provenire da profili auth, credenziali di ambiente o
models.json. - Se un provider ha credenziali ma OpenClaw non riesce a risolvere un candidato
di modello sondabile per esso,
models status --probesegnalastatus: no_modelconreasonCode: no_model.
Protezione dei criteri SecretRef OAuth
- L’input SecretRef è solo per credenziali statiche.
- Se una credenziale di profilo è
type: "oauth", gli oggetti SecretRef non sono supportati per il materiale delle credenziali di quel profilo. - Se
auth.profiles.<id>.modeè"oauth", l’inputkeyRef/tokenRefsupportato da SecretRef per quel profilo viene rifiutato. - Le violazioni sono errori bloccanti nei percorsi di risoluzione auth all’avvio/ricaricamento.
Messaggistica compatibile con il legacy
Per compatibilità con gli script, gli errori del probe mantengono invariata questa prima riga:Auth profile credentials are missing or expired.
Dettagli più leggibili e codici motivo stabili possono essere aggiunti nelle righe successive.