Semantik von Auth-Anmeldeinformationen
Dieses Dokument definiert die kanonische Berechtigungs- und Auflösungssemantik für Anmeldeinformationen, die verwendet wird in:resolveAuthProfileOrderresolveApiKeyForProfilemodels status --probedoctor-auth
Stabile Probe-Reason-Codes
okexcluded_by_auth_ordermissing_credentialinvalid_expiresexpiredunresolved_refno_model
Token-Anmeldeinformationen
Token-Anmeldeinformationen (type: "token") unterstützen inline token und/oder tokenRef.
Berechtigungsregeln
- Ein Token-Profil ist nicht berechtigt, wenn sowohl
tokenals auchtokenReffehlen. expiresist optional.- Wenn
expiresvorhanden ist, muss es eine endliche Zahl größer als0sein. - Wenn
expiresungültig ist (NaN,0, negativ, nicht endlich oder falscher Typ), ist das Profil mitinvalid_expiresnicht berechtigt. - Wenn
expiresin der Vergangenheit liegt, ist das Profil mitexpirednicht berechtigt. tokenRefumgeht die Validierung vonexpiresnicht.
Auflösungsregeln
- Die Semantik des Resolvers entspricht der Berechtigungssemantik für
expires. - Für berechtigte Profile kann Token-Material aus dem Inline-Wert oder aus
tokenRefaufgelöst werden. - Nicht auflösbare Refs erzeugen
unresolved_refin der Ausgabe vonmodels status --probe.
Explizite Filterung der Auth-Reihenfolge
- Wenn
auth.order.<provider>oder die Auth-Store-Reihenfolgenüberschreibung für einen Provider gesetzt ist, prüftmodels status --probenur Profil-IDs, die in der aufgelösten Auth-Reihenfolge für diesen Provider verbleiben. - Ein gespeichertes Profil für diesen Provider, das in der expliziten Reihenfolge ausgelassen wird,
wird nicht stillschweigend später versucht. Die Probe-Ausgabe meldet es mit
reasonCode: excluded_by_auth_orderund dem DetailDurch auth.order für diesen Provider ausgeschlossen.
Auflösung des Probe-Ziels
- Probe-Ziele können aus Auth-Profilen, Umgebungs-Anmeldeinformationen oder
models.jsonstammen. - Wenn ein Provider Anmeldeinformationen hat, OpenClaw dafür aber kein prüfbares Modell
als Kandidaten auflösen kann, meldet
models status --probestatus: no_modelmitreasonCode: no_model.
OAuth-SecretRef-Richtlinienschutz
- SecretRef-Eingaben sind nur für statische Anmeldeinformationen vorgesehen.
- Wenn die Anmeldeinformationen eines Profils
type: "oauth"sind, werden SecretRef-Objekte für das Material dieser Profil-Anmeldeinformationen nicht unterstützt. - Wenn
auth.profiles.<id>.mode"oauth"ist, werden SecretRef-gestütztekeyRef-/tokenRef-Eingaben für dieses Profil abgelehnt. - Verstöße sind harte Fehler in den Startup-/Reload-Pfaden der Auth-Auflösung.
Legacy-kompatible Meldungen
Für die Kompatibilität mit Skripten bleibt diese erste Zeile von Probe-Fehlern unverändert:Auth profile credentials are missing or expired.
Benutzerfreundliche Details und stabile Reason-Codes können in nachfolgenden Zeilen hinzugefügt werden.