Стэк: Nuxt 4 (Composition API) + ASP.NET Core 10 (Minimals API + Results API) + PostgreSQL + EF Core. SSR схема приложения.
Валидация:
В Nuxt Query и Mutation запросы реализованы с использованием библиотеки Pinia Colada. Стор - Pinia Store.
В проекте реализовано:
Авторизация выполняется с использованием access (короткоживущий) и refresh (долгоживущий) токенов. В браузере токены хранятся в httpOnly Cookie.
Реализован механизм ротации токенов: при истечении access токена и наличии refresh токена происходит их обновление и переустановка. На бэкенде refresh организован с защитой от гонки запросов при помощи grace периода и пессимистической блокировки (transaction + FOR UPDATE) и от повторно использования Revoked токена (Reuse detection). Эндпойнт авторизации защищен от брутфорса.
Таблицы в PostgreSQL создаются с помощью миграций.
Проект собран с помощью Docker и запущен на VPS с использованием revers proxy Caddy.
Разработка продолжается...