hephaestus/docs
Erich Blume 497c62a988
Some checks failed
Build / validate (pull_request) Failing after 3s
hephd: OIDC hub authentication — verification side (auth 10a)
Authenticate op exchange at the network boundary (tech-spec §13). The hub
now requires a valid OIDC bearer token on /sync/* and /rpc; local mode is
unchanged (no auth).

- heph-core: Store::authorize_owner_sub — single-tenant gate that claims the
  owner's oidc_sub on first sight, then authorizes only that sub (403 for any
  other identity). LocalStore impl over users.oidc_sub; RemoteStore stub.
- hephd auth module: TokenVerifier trait (mockable seam) + OidcVerifier
  (jsonwebtoken, rust_crypto). Strict validation: RS256 pinned, exact iss +
  aud, exp/nbf, required sub; JWKS discovered + cached, refetched on unknown
  kid (rotation). Claims/AuthError.
- Hub router takes Option<verifier>; an axum middleware on every route
  extracts the Bearer token, verifies it off the async worker, and runs the
  owner gate — 401 missing/invalid, 403 wrong identity, 503 IdP-unreachable.
  Open (no auth) when unconfigured, for local dev.
- main: --oidc-issuer/--oidc-audience enable the hub verifier (server mode).
- Security tests, all offline: stub-verifier middleware (missing/bad/valid +
  owner gate) and an adversarial battery driving OidcVerifier against an
  in-process mock IdP — rejects expired, wrong iss/aud, unknown kid, tampered
  signature, alg confusion (HS256/none), and missing sub. The RSA key + JWKS
  are generated at runtime (rsa/rand/base64 dev-deps) so no key is committed.
- tech-spec: add an end-of-v1 dependency-refresh pass to the roadmap.

108 tests green; clippy -D warnings + fmt + prek clean. Next: client-side
device-code login + keyring (10b).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 15:58:20 -07:00
..
changelog.d hephd: OIDC hub authentication — verification side (auth 10a) 2026-06-01 15:58:20 -07:00
explanation docs: Phase 1 progress tracker (design roadmap + tech-spec §14) 2026-06-01 05:23:43 -07:00
how-to Initial commit 2026-05-31 06:13:36 -07:00
reference hephd: OIDC hub authentication — verification side (auth 10a) 2026-06-01 15:58:20 -07:00
tutorials Set up hephaestus from template and add design + tech spec 2026-05-31 09:37:28 -07:00
index.md Initial commit 2026-05-31 06:13:36 -07:00
quartz.config.ts Set up hephaestus from template and add design + tech spec 2026-05-31 09:37:28 -07:00
quartz.layout.ts Initial commit 2026-05-31 06:13:36 -07:00