Lilleman auf Larv lilleman
lilleman pushed to main at larvit/plainpages 2026-06-18 09:53:42 +02:00
c8b56b85eb JWT session middleware (todo §4); authenticate(): verify the session cookie via cached JWKS (key by kid) → exp/nbf/iss/aud claims (clock skew) → ctx.user/roles; iss/aud opt-in; fail-closed
lilleman pushed to main at larvit/plainpages 2026-06-17 23:15:34 +02:00
38157605d0 Login completion (todo §4); /auth/complete: roles from Keto → metadata_public projection → tokenize → plainpages_jwt cookie; fix tokenizer projection metadata_admin→metadata_public (whoami strips admin metadata)
lilleman pushed to main at larvit/plainpages 2026-06-17 18:20:49 +02:00
26a7821611 Render SSO buttons per configured Kratos OIDC provider (todo §4); flow-view collects oidc nodes → auth-card submit buttons, server-side visibility, drop mockup #sso-toggle CSS
lilleman pushed to main at larvit/plainpages 2026-06-17 17:56:04 +02:00
0928f9dd39 Render Kratos self-service flows as themed pages (todo §4); buildFlowView + views/auth.ejs + login/registration/recovery/verification/settings routes
lilleman pushed to main at larvit/plainpages 2026-06-17 17:34:02 +02:00
2a64cfd409 Add Keto fetch client (todo §4); createKetoClient(): check / list / expand relations + write / delete tuples
lilleman pushed to main at larvit/plainpages 2026-06-17 17:22:05 +02:00
5e96678fda Add Kratos admin-API fetch client (todo §4); createKratosAdmin(): identity CRUD + surgical metadata_admin update (login role projection)
lilleman pushed to main at larvit/plainpages 2026-06-17 17:15:55 +02:00
898dc7f2cf Add Kratos public-API fetch client (todo §4); createKratosPublic(): self-service flow init/get/submit, whoami, session→JWT tokenize
lilleman pushed to main at larvit/plainpages 2026-06-17 17:07:40 +02:00
fcf042fa66 Unify §3 test overlaps (todo §3); fold the 5× image-pin checks into one compose.test.ts scan + same-version sidecar test, drop the duplicate committed-JWKS re-validation in config.test.ts
lilleman pushed to main at larvit/plainpages 2026-06-17 17:00:49 +02:00
360449e76b Tighten §3 comments (todo §3); drop stale 'next §3 item' forward-refs, condense compose/Ory/bootstrap headers
lilleman pushed to main at larvit/plainpages 2026-06-17 16:49:39 +02:00
e83cf4da88 Address project-wide review (todo §3); fix JWKS_URL default → tokenizer signing key + read-only web mount, cap bootstrap restart, --no-deps for unit commands
lilleman pushed to main at larvit/plainpages 2026-06-17 16:32:56 +02:00
1fc6b42156 Document the only manual prep (todo §3); README 'What you must supply' — production secrets + optional SSO creds, everything else auto-generated
lilleman pushed to main at larvit/plainpages 2026-06-17 16:22:51 +02:00
4d65665063 Bootstrap: print first-run login banner (URL + seeded creds + change-before-prod warning)
lilleman pushed to main at larvit/plainpages 2026-06-17 16:18:27 +02:00
a6900217cb One-command bootstrap (todo §3); idempotent first-boot seed: JWKS-if-absent, demo admin in Kratos, admin role in Keto
lilleman pushed to main at larvit/plainpages 2026-06-17 16:06:08 +02:00
4af090f803 Split dev/prod compose wiring (todo §3); Ory readiness healthchecks, web gated on kratos+keto, dev-only host ports, Ory-free E2E
lilleman pushed to main at larvit/plainpages 2026-06-17 15:45:42 +02:00
93e62d8661 Add Hydra service + migrate (todo §3); pin oryd/hydra:v26.2.0, OAuth2 issuer + login/consent URLs → our app routes
lilleman pushed to main at larvit/plainpages 2026-06-17 15:12:07 +02:00
fa87280f46 Add Keto service + migrate (todo §3); OPL role/group/resource namespaces, fine-grained resource permits
lilleman pushed to main at larvit/plainpages 2026-06-17 13:24:35 +02:00
6640dfc84e Generate + mount the JWT signing JWKS (todo §3); ES256 gen-jwks tool, committed dev key, key-rotation docs
lilleman pushed to main at larvit/plainpages 2026-06-17 12:02:33 +02:00
95c759d773 Wire Kratos session tokenizer template (todo §3); plainpages JWT (sub/email/roles), 10m TTL, Jsonnet claims mapper reading metadata_admin
lilleman pushed to main at larvit/plainpages 2026-06-17 11:27:57 +02:00
0313f48112 Configure Kratos session settings (todo §3); branded cookie, 720h lifespan, 24h sliding-refresh window
lilleman pushed to main at larvit/plainpages 2026-06-17 10:58:33 +02:00
d6960c9bad Add optional env-activated Kratos OIDC/SSO providers (todo §3); off by default, committed claims mapper, SAML via OIDC bridge note