bb-plane-fork/apps/web
binarybeach 712612865d binarybeachio: Bucket-4 trusted-JWT auth — replaces in-place github.py patch
Migrates this fork to the binarybeachio platform-architecture pivot:
oauth2-proxy at the edge enforces a Zitadel session, the auth-bridge
mints a short-lived RS256 JWT, and a NEW additive endpoint at
/auth/sign-in-trusted/ verifies the JWT, claims its jti against
shared-redis (single-use replay protection, fail-closed), find-or-creates
the User, and starts a Django session via user_login().

Net surface vs. upstream-clean: 1 new view file + 1 url path + 1
exports __init__ entry + 7 reserved error codes (6000-6099 range).
github.py and the GitHub-button rebrand patch are reverted to upstream
— sign-in entry-point UX is now driven by Traefik redirectregex on
/sign-in* in infrastructure/plane/docker-compose.yml.

Replay protection contract: jti claim minted by bridge, consumed via
Redis SETNX with ttl = exp - now + 30s. Documented at
binarybeachio/docs/architecture/bridge-jwt-replay-protection.md.

Public-key transport: BB_BRIDGE_PUBLIC_KEY_URL env points at the
in-cluster bridge's /.well-known/bb-bridge.pub.pem (avoids the
env-PEM corruption issue Coolify has with backslash-escaped keys).
Endpoint is implicitly disabled (404) when env unset — vanilla
upstream behavior preserved.

Storage patches (Patch 2) unchanged. Brand asset preserved (dormant).
Pre-migration source state preserved on branch pre-migration-2026-05-04.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 20:24:48 -10:00
..
app binarybeachio: account chooser, brand logo, session convention 2026-04-30 14:51:21 -10:00
ce fix: remove unused imports and variables (part 1 — packages & non-web-core) (#8751) 2026-03-25 02:04:20 +05:30
core binarybeachio: Bucket-4 trusted-JWT auth — replaces in-place github.py patch 2026-05-03 20:24:48 -10:00
helpers [WEB-6794] fix: align profile cover update with correct unsplash and upload handling (#8830) 2026-03-31 15:54:12 +05:30
nginx [VPAT-50] chore(security): add X-Frame-Options header to nginx configuration to prevent clickjacking attacks (#8507) 2026-01-09 04:03:41 +05:30
public fix: eslint (#8185) 2025-12-05 16:03:51 +05:30
styles [WEB-5675] chore: implement fontsource as the fonts library (#8398) 2025-12-19 16:21:04 +05:30
.dockerignore [WEB-5043] feat: web vite migration (#7973) 2025-11-06 14:08:48 +05:30
.env.example [WEB-5413] feat: adding sentry error handling in web, space and admin (#8099) 2025-11-12 19:03:47 +05:30
.gitignore
.prettierignore fix: eslint (#8185) 2025-12-05 16:03:51 +05:30
Dockerfile.dev feat: migrate to pnpm from yarn (#7593) 2025-08-19 20:06:42 +05:30
Dockerfile.web chore: upgrade turbo from v2.8.12 to v2.9.4 (#8859) 2026-04-06 16:04:57 +05:30
google.d.ts chore: run fixes (#8257) 2025-12-08 22:26:50 +05:30
manifest.json
package.json chore: version bump 2026-03-31 17:09:35 +05:30
postcss.config.js [WEB-5602] feat: new design system (#8220) 2025-12-12 20:50:14 +05:30
react-router.config.ts [WEB-5386] refactor: update all apps to use react-router for development and enable SSR for space app. (#8095) 2025-11-11 14:08:42 +05:30
tsconfig.json fix: remove ee folder from web (#8622) 2026-02-10 20:01:42 +05:30
use-font-face-observer.d.ts
vite.config.ts chore(deps): replace dotenvx with dotenv and update overrides (#8832) 2026-03-31 16:55:17 +05:30