Backend: - Cookie + OIDC + API Key authentication schemes - ApiKeyAuthenticationHandler with SHA-256 validation and 24h cache - AuthController with login/logout/profile endpoints - API Key domain model (EventFlow aggregate, events, commands) - ApiKeyReadModel and repository for key validation - Database migration 002_ApiKeys.sql - CORS configuration for frontend Frontend: - authService.ts for login/logout/profile API calls - authStore.ts (Zustand) for user context state - ProtectedRoute component for route guards - Header updated with user display and logout - GraphQL client with credentials: include 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
49 lines
1.9 KiB
XML
49 lines
1.9 KiB
XML
<Project Sdk="Microsoft.NET.Sdk.Web">
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework>net10.0</TargetFramework>
|
|
<LangVersion>14</LangVersion>
|
|
<Nullable>enable</Nullable>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
|
<AnalysisLevel>latest</AnalysisLevel>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- EventFlow (local source) -->
|
|
<ProjectReference Include="../../../EventFlow/Source/EventFlow/EventFlow.csproj" />
|
|
<ProjectReference Include="../../../EventFlow/Source/EventFlow.PostgreSql/EventFlow.PostgreSql.csproj" />
|
|
<ProjectReference Include="../../../EventFlow/Source/EventFlow.Hangfire/EventFlow.Hangfire.csproj" />
|
|
|
|
<!-- Database -->
|
|
<PackageReference Include="Npgsql" Version="10.0.1" />
|
|
<PackageReference Include="Dapper" Version="2.1.66" />
|
|
<PackageReference Include="dbup-postgresql" Version="5.0.40" />
|
|
|
|
<!-- Hangfire -->
|
|
<PackageReference Include="Hangfire.Core" Version="1.8.22" />
|
|
<PackageReference Include="Hangfire.AspNetCore" Version="1.8.22" />
|
|
<PackageReference Include="Hangfire.PostgreSql" Version="1.20.13" />
|
|
|
|
<!-- Serialization -->
|
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
|
|
|
<!-- GraphQL -->
|
|
<PackageReference Include="GraphQL" Version="8.0.2" />
|
|
<PackageReference Include="GraphQL.Server.Transports.AspNetCore" Version="8.0.2" />
|
|
<PackageReference Include="GraphQL.Server.Ui.Altair" Version="8.0.2" />
|
|
<PackageReference Include="GraphQL.DataLoader" Version="8.0.2" />
|
|
<PackageReference Include="GraphQL.MicrosoftDI" Version="8.0.2" />
|
|
|
|
<!-- DI Decoration -->
|
|
<PackageReference Include="Scrutor" Version="5.0.2" />
|
|
|
|
<!-- Authentication -->
|
|
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="10.0.0" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<EmbeddedResource Include="Database\Migrations\*.sql" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|