# .NET 8 Backend Функционально эквивалентный бэкенд на .NET 8 для Dex Demo. ## Запуск ### Локально ```bash dotnet run ``` ### Docker ```bash docker build -t dex-demo-backend-dotnet:latest . docker run -p 8000:8000 \ -e AppConfig__DbHost=postgres \ -e AppConfig__DbPort=5440 \ -e AppConfig__Issuer=https://dex.127.0.0.1.sslip.io/ \ dex-demo-backend-dotnet:latest ``` ## Особенности реализации - **Minimal APIs**: современный подход ASP.NET Core без лишнего бойлерплейта - **Records**: для моделей данных (immutable, concise) - **Dapper**: микро-ORM для чистой и производительной работы с БД - **Npgsql**: официальный PostgreSQL provider для .NET - **OpenIdConnect**: стандартный механизм получения JWKS ## API - `GET /api/health` - проверка здоровья - `GET /api/user-info` - информация о пользователе (требует авторизацию) ## Переменные окружения ### База данных - `AppConfig__DbHost` - хост PostgreSQL (по умолчанию: postgres) - `AppConfig__DbPort` - порт PostgreSQL (по умолчанию: 5440) - `AppConfig__DbName` - имя базы данных (по умолчанию: dexdemo) - `AppConfig__DbUser` - пользователь базы данных (по умолчанию: dexdemo) - `AppConfig__DbPassword` - пароль базы данных (по умолчанию: dexdemo) ### Аутентификация - `AppConfig__Issuer` - URL Dex сервера (по умолчанию: https://dex.127.0.0.1.sslip.io/) ### Режим разработки - `AppConfig__InsecureDevMode` - включить небезопасный режим разработки (true/false) - `AppConfig__InsecureDevEmail` - email для тестирования в режиме разработки ### CORS - `AppConfig__AllowedOrigins` - разрешенные origins для CORS (JSON массив)