code for 3 machines demoing how to use the chrome card.
Go to file
Morten V. Christiansen 2cf44e97df Refactor all three service files and fix enroll-clears-session bug
- Update module docstrings to concise service descriptions
- Add _require_json() helper to Handler in k_proxy and k_client_portal,
  eliminating repetitive try/except JSON-parse blocks in handler methods
- Cache SSL context once in ClientState.__init__ instead of per-request
- Fix: ClientState.enroll() now calls /session/logout on k_proxy before
  re-enrolling, so the old server-side session is invalidated rather than
  left to expire (discovered via live test where re-register after login
  caused subsequent logout to fail with missing bearer token)
- Add targeted comments explaining non-obvious invariants: _gc_locked lock
  ownership, _with_direct_ctap2 retry-on-reopen, _require_session None
  convention, will_close connection reuse, HTTP/1.1 body-drain requirement,
  90 s interactive timeout margin, and enroll session-clearing rationale

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 11:27:57 +02:00
tests Add k_proxy unit tests with mocked card and upstream 2026-04-27 10:44:43 +02:00
.gitignore Add Playwright portal regression and harden direct auth 2026-04-25 21:06:08 +02:00
PHASE5_RUNBOOK.md inconsistancies resolved 2026-04-26 07:14:19 +02:00
Setup.md inconsistancies resolved 2026-04-26 07:14:19 +02:00
Workplan.md inconsistancies resolved 2026-04-26 07:14:19 +02:00
ctaphid_init_probe.py Harden direct auth path and regression helper 2026-04-25 15:49:52 +02:00
fido2_probe.py Initialize workspace tracking repo 2026-04-24 05:38:00 +02:00
generate_phase2_certs.py Add Phase 2 HTTPS prototype and runbook updates 2026-04-25 01:29:37 +02:00
k_client_portal.py Refactor all three service files and fix enroll-clears-session bug 2026-04-27 11:27:57 +02:00
k_proxy_app.py Refactor all three service files and fix enroll-clears-session bug 2026-04-27 11:27:57 +02:00
k_server_app.py Refactor all three service files and fix enroll-clears-session bug 2026-04-27 11:27:57 +02:00
package-lock.json Add Playwright portal regression and harden direct auth 2026-04-25 21:06:08 +02:00
package.json Add Playwright portal regression and harden direct auth 2026-04-25 21:06:08 +02:00
phase5_chain_regression.sh Harden direct auth path and regression helper 2026-04-25 15:49:52 +02:00
phase65_concurrency_probe.py Add CTAP probe and update phase docs 2026-04-25 10:25:40 +02:00
playwright.config.js Add Playwright portal regression and harden direct auth 2026-04-25 21:06:08 +02:00
raw_ctap_probe.py Harden direct auth path and regression helper 2026-04-25 15:49:52 +02:00
webauthn_local_demo.py Initialize workspace tracking repo 2026-04-24 05:38:00 +02:00