front to consta

clean dotnet backend
This commit is contained in:
2026-01-20 17:17:22 +05:00
parent cae6a7795b
commit 2b1357e981
28 changed files with 831 additions and 1083 deletions

View File

@@ -1,53 +0,0 @@
# .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 массив)