61991bf6cd
Adds the access foundation everything else enforces against. SharedKernel (shared access contracts, no Identity dependency for consumers): - ScopeRef/ScopeType, RoleType, Capability, AccessPolicy (role x capability matrix), ICurrentUser, IPermissionService (scope-chain evaluation). Identity module: - Member, Membership, Invitation entities; internal IdentityDbContext (schema "identity") + InitialIdentity migration; design-time factory. - JWT auth (HS256) issuing membership claims; PasswordHasher<Member>; CurrentUser (claims -> ICurrentUser) and PermissionService implementations. - Public IMemberDirectory contract for other modules to resolve member display info. - Endpoints: POST /bootstrap (first owner), /auth/login, GET /me, POST /invitations, POST /invitations/accept. Owner-only actions enforced via IPermissionService. - Web host wires UseAuthentication/UseAuthorization and string-enum JSON. Verified: build green; ArchitectureTests 8/8 (Identity references only SharedKernel); IntegrationTests 11/11 incl. a new end-to-end flow — bootstrap -> login -> /me -> invite -> accept -> login as invitee, and a Member is 403'd from inviting. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
55 lines
2.8 KiB
XML
55 lines
2.8 KiB
XML
<Project>
|
|
|
|
<!--
|
|
Central Package Management — the single source of truth for every NuGet version.
|
|
Projects reference packages with <PackageReference Include="..." /> and NO Version.
|
|
Versions web-verified against the live feed (mid-2026); see docs/V1_BUILD_PLAN.md BOM.
|
|
-->
|
|
<PropertyGroup>
|
|
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
|
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup Label="Persistence — EF Core 10 + Npgsql + pgvector">
|
|
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="10.0.8" />
|
|
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.8" />
|
|
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="10.0.8" />
|
|
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.2" />
|
|
<PackageVersion Include="Pgvector" Version="0.3.2" />
|
|
<PackageVersion Include="Pgvector.EntityFrameworkCore" Version="0.3.0" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Label="Identity / auth">
|
|
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="10.0.8" />
|
|
<PackageVersion Include="Microsoft.Extensions.Identity.Core" Version="10.0.8" />
|
|
<PackageVersion Include="Microsoft.IdentityModel.JsonWebTokens" Version="8.19.1" />
|
|
<PackageVersion Include="Microsoft.IdentityModel.Tokens" Version="8.19.1" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Label="Web / API">
|
|
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="10.0.8" />
|
|
<PackageVersion Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="10.0.8" />
|
|
<PackageVersion Include="FluentValidation" Version="12.1.1" />
|
|
<PackageVersion Include="FluentValidation.DependencyInjectionExtensions" Version="12.1.1" />
|
|
<PackageVersion Include="Riok.Mapperly" Version="4.3.1" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Label="Observability">
|
|
<PackageVersion Include="Serilog.AspNetCore" Version="10.0.0" />
|
|
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.15.3" />
|
|
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.15.2" />
|
|
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="1.15.1" />
|
|
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.15.3" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Label="Tests">
|
|
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
|
|
<PackageVersion Include="xunit.v3" Version="3.2.2" />
|
|
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
|
|
<PackageVersion Include="Testcontainers.PostgreSql" Version="4.12.0" />
|
|
<PackageVersion Include="Verify.XunitV3" Version="31.12.5" />
|
|
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="10.0.8" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|