4fdd56dae4
Backend (Rust API): - Add users and play_events tables (migration 0005) - Extract full user identity from JWT (sub, username, email, name) and pass AuthUser via request extensions to all handlers - Auto-upsert user in background on every authenticated request - POST /api/tracks/:slug/play endpoint to record play events - Allow POST method in CORS Frontend (Node player): - Call recordPlay() when a track starts playing - Add user profile avatar with dropdown menu (name, email, sign out) - Pass user info from App through FurumiPlayer to Header Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
auth-app
Проект состоит из двух частей:
client- Vite + React + TypeScriptserver- Express + TypeScript + OIDC авторизация
Запуск
- Скопируй
server/.env.exampleвserver/.envи заполни OIDC параметры.- Если нужно запустить без авторизации, поставь
DISABLE_AUTH=true(OIDC параметры тогда не требуются).
- Если нужно запустить без авторизации, поставь
- В одном терминале:
cd servernpm run dev
- В другом терминале:
cd clientnpm run dev
Клиент откроется на http://localhost:5173, сервер на http://localhost:3001.