auth/daemon_token_middleware.ts view source
(state: DaemonTokenState, _deps: QueryDeps): MiddlewareHandler Create middleware that authenticates via daemon token.
Checks the X-Daemon-Token header. Behavior:
- No header: pass through (don't touch existing context).
- Header present + Zod-invalid: return 401 (fail-closed).
- Header present + invalid value: return 401 (fail-closed, no downgrade).
- Header present + valid + keeper_account_id null: return 503.
- Header present + valid + ok: set `c.var.auth_account_id =
state.keeper_account_id, CREDENTIAL_TYPE_KEY = 'daemon_token'`
(overrides any existing session / bearer identity).
Acting-actor resolution + RequestContext construction are deferred
to the dispatcher's authorization phase. Multi-actor keeper accounts
surface actor_required from there if a daemon caller doesn't pass
an explicit acting value.
state
the daemon token runtime state
_deps
returns
MiddlewareHandler