diff --git a/.cursor/rules/idmt.mdc b/.cursor/rules/idmt.mdc deleted file mode 100644 index 60b4aed..0000000 --- a/.cursor/rules/idmt.mdc +++ /dev/null @@ -1,37 +0,0 @@ ---- -alwaysApply: true ---- - -# IDMT Plugin - -Identity MultiTenant plugin library for ASP.NET Core that provides automatic identity management (authentication and authorization) and multi-tenancy support using Finbuckle.MultiTenant and Microsoft.AspNetCore.Identity. - -## Features - -- **Multi-Tenant Support**: Built-in multi-tenancy using Finbuckle.MultiTenant -- **Identity Management**: ASP.NET Core Identity integration with cookie authentication and identity's custom bearer token -- **Vertical Slice Architecture**: Each identity endpoint has its own handler interface and implementation -- **Minimal APIs**: Modern endpoint routing with clean, composable APIs -- **Configurable**: Extensive configuration options for identity, and multi-tenancy -- **Database Agnostic**: Works with any Entity Framework Core provider - -## Architecture - -### Vertical Slice Pattern - -The library implements a vertical slice architecture where each feature is self-contained: - -### Multi-Tenancy - -Multi-tenancy is achieved through: -- Tenant-aware user model `IdmtUser` -- Global roles `IdmtRole` -- Automatic tenant filtering in Entity Framework queries -- Tenant resolution strategies (header, claim, route) -- Tenant information managed using a the EFCore MultiTenant Store -- Per-Tenant Authentication. The login session for a given request will only be valid for the current tenant. Subsequent requests from the same client, but for a different tenant (e.g. a different path when using the route strategy), will not leak the previous login session into the tenant. - -## Main libraries links - -- Finbuckle.MultiTenant Docs: https://www.finbuckle.com/MultiTenant/Docs/ -- Finbuckle.MultiTenant Github: https://github.com/Finbuckle/Finbuckle.MultiTenant.git. Finbuckle's samples are not organized well, so don't forget to look for samples in the different links provided in samples/README.md (like [v8.0.0](https://github.com/Finbuckle/Finbuckle.MultiTenant/tree/v8.0.0/samples/)). \ No newline at end of file diff --git a/.cursor/rules/mcps.mdc b/.cursor/rules/mcps.mdc deleted file mode 100644 index 44481c7..0000000 --- a/.cursor/rules/mcps.mdc +++ /dev/null @@ -1,13 +0,0 @@ ---- -alwaysApply: true ---- - -# Available MCP servers - -## Microsoft Learn - -You are able to use the Microsoft Learn MCP (ms-learn), that adds trusted and up-to-date Learn content as context to language models. It is a remote MCP server that uses streamable http. It lets AI agents send a query to Microsoft Learn and returns a JSON-encoded response with chunks of publicly available documentation. You can use it to get more information on the microsoft tools being used, like [Identity](https://learn.microsoft.com/en-us/aspnet/core/security/authentication/identity?view=aspnetcore-9.0). - -## Github - -You are able to use the github MCP. Use all its tools as they were designed. You also can use it to query the code of open-source libraries being used, like [Finbuckle.MultiTenant](https://github.com/Finbuckle/Finbuckle.MultiTenant.git) and [Identity](https://github.com/dotnet/AspNetCore/tree/main/src/Identity). \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6930bb0..5f1c84d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v4 with: - dotnet-version: 9.0.x + dotnet-version: 10.0.x - name: Restore dependencies run: dotnet restore src/Idmt.slnx diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index eec3074..46e910b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -13,7 +13,7 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v4 with: - dotnet-version: 9.0.x + dotnet-version: 10.0.x - name: Restore dependencies run: dotnet restore src/Idmt.slnx diff --git a/.gitignore b/.gitignore index 3d09d56..c6ddfad 100644 --- a/.gitignore +++ b/.gitignore @@ -58,5 +58,3 @@ nunit-*.xml *.db *.db-shm *.db-wal - -.claude/settings.local.json