Semântica de Credenciais de Autenticação
Este documento define a semântica canônica de elegibilidade e resolução de credenciais usada em:resolveAuthProfileOrderresolveApiKeyForProfilemodels status --probedoctor-auth
Códigos estáveis de motivo da sondagem
okexcluded_by_auth_ordermissing_credentialinvalid_expiresexpiredunresolved_refno_model
Credenciais de token
As credenciais de token (type: "token") oferecem suporte a token inline e/ou tokenRef.
Regras de elegibilidade
- Um perfil de token é inelegível quando
tokenetokenRefestão ambos ausentes. expiresé opcional.- Se
expiresestiver presente, ele deverá ser um número finito maior que0. - Se
expiresfor inválido (NaN,0, negativo, não finito ou do tipo errado), o perfil será inelegível cominvalid_expires. - Se
expiresestiver no passado, o perfil será inelegível comexpired. tokenRefnão ignora a validação deexpires.
Regras de resolução
- A semântica do resolvedor corresponde à semântica de elegibilidade para
expires. - Para perfis elegíveis, o material do token pode ser resolvido a partir do valor inline ou de
tokenRef. - Referências que não podem ser resolvidas produzem
unresolved_refna saída demodels status --probe.
Filtragem explícita da ordem de autenticação
- Quando
auth.order.<provider>ou a substituição da ordem do armazenamento de autenticação estiver definida para um provedor,models status --probesondará apenas os ids de perfil que permanecerem na ordem de autenticação resolvida para esse provedor. - Um perfil armazenado desse provedor que for omitido da ordem explícita não será tentado silenciosamente depois. A saída da sondagem o informa com
reasonCode: excluded_by_auth_ordere o detalheExcluído por auth.order para este provedor.
Resolução de alvos da sondagem
- Os alvos da sondagem podem vir de perfis de autenticação, credenciais de ambiente ou
models.json. - Se um provedor tiver credenciais, mas o OpenClaw não conseguir resolver um candidato de modelo sondável para ele,
models status --probeinformarástatus: no_modelcomreasonCode: no_model.
Proteção de política de OAuth SecretRef
- A entrada SecretRef é destinada apenas a credenciais estáticas.
- Se uma credencial de perfil for
type: "oauth", objetos SecretRef não serão compatíveis com o material dessa credencial de perfil. - Se
auth.profiles.<id>.modefor"oauth", a entradakeyRef/tokenRefcom suporte de SecretRef para esse perfil será rejeitada. - Violações são falhas rígidas nos caminhos de resolução de autenticação durante inicialização/recarregamento.
Mensagens compatíveis com legados
Para compatibilidade com scripts, os erros de sondagem mantêm esta primeira linha inalterada:Auth profile credentials are missing or expired.
Detalhes mais amigáveis para humanos e códigos estáveis de motivo podem ser adicionados nas linhas seguintes.