Files
python-oauth2-proxy-k8s/backend-dotnet
..
2025-10-02 15:19:15 +05:00
2025-10-02 15:19:15 +05:00
fix
2026-01-16 10:38:54 +05:00
2025-10-02 15:19:15 +05:00
2025-10-02 15:19:15 +05:00

.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__InsecureDevMode - включить небезопасный режим разработки (true/false)
  • AppConfig__InsecureDevEmail - email для тестирования в режиме разработки

CORS

  • AppConfig__AllowedOrigins - разрешенные origins для CORS (JSON массив)