Vadym Samoilenko
e8c708f6eb
Fix password special characters breaking login via WAF
...
Base64-encode passwords on the frontend before sending in JSON body,
and decode on the backend before passing to bcrypt. Prevents Nginx WAF
from returning an HTML error page when passwords contain <, >, &, etc.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 18:40:46 +00:00
Vadym Samoilenko
d1af08786c
Add Node.js/Express backend, PostgreSQL, email/password auth, and Docker deployment
...
- Add Express server (server/) with JWT auth, rate limiting, and all /api/auth/* routes
- Add PostgreSQL schema and migration runner (3 migrations)
- Add email/password login, registration, password reset via Mailgun
- Validate MSAL SSO ID token server-side, upsert user into DB
- Rewrite auth.js: 8-panel auth UI (SSO, login, register, forgot, reset, verify)
- Expand index.html auth overlay with full multi-view auth UI
- Add apiFetch() helper in script.js with auto token refresh
- Add Dockerfile, docker-compose.yml, .dockerignore for containerised deployment
- Add idempotent deploy.sh: git pull, docker build, migrate, copy static to /var/www
- Add .gitignore
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 19:27:44 +00:00