Commit Graph

9 Commits

Author SHA1 Message Date
Bastian Wagner
981cecbcbd feat: switch oidc client to confidential (backend token exchange)
The provisioned IdP client (https://auth.forgecore.work) is confidential
rather than public/PKCE-only, so a client secret must never reach the
browser. The frontend now only performs the Authorization Code + PKCE
redirect itself (hand-rolled PKCE, oidc-client-ts dependency removed)
and hands the resulting code + verifier to a new, intentionally
unauthenticated POST /api/v1/auth/session endpoint, which performs the
code-for-tokens exchange server-side using OIDC_CLIENT_SECRET and
returns only {accessToken, expiresIn} — refresh_token/id_token are
never forwarded to the client.

New required backend env vars: OIDC_CLIENT_ID, OIDC_CLIENT_SECRET.
Added frontend/proxy.conf.json so the Angular dev server forwards
/api and /health to the local API without needing CORS.
2026-08-17 16:36:49 +02:00
Bastian Wagner
bd91a3da4a feat: add oidc authorization code with pkce login flow 2026-08-17 15:43:17 +02:00
Bastian Wagner
5abc7cbe29 feat: verify oidc bearer tokens and jit-provision users 2026-08-17 14:54:42 +02:00
Bastian Wagner
7ca4bd9cf7 feat: add user jit provisioning and preferences service 2026-08-17 14:43:13 +02:00
Bastian Wagner
ec95a8e527 feat: add versioned migrations and kysely query layer 2026-08-17 14:33:28 +02:00
Bastian Wagner
ccea4e48ec test: enforce production docker network invariants 2026-08-17 13:45:14 +02:00
Bastian Wagner
0815f702d2 feat: add api liveness and readiness checks 2026-08-17 13:39:15 +02:00
Bastian Wagner
755cc88dc2 feat: add angular pwa shell 2026-08-17 13:31:38 +02:00
Bastian Wagner
c23bda56a3 chore: establish travel planner pnpm workspace 2026-08-17 13:09:32 +02:00