.NET 8 Backend
Функционально эквивалентный бэкенд на .NET 8 для Dex Demo.
Запуск
Локально
dotnet run
Docker
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 массив)