Skip to main content
Version: Current

Verified .NET Quickstart

Use this path when you want the shortest supported Memberships setup before adding EF Core, Broker, or RBAC bridges.

What this path proves

  • A host can create and accept invitations.
  • Accepted invitations create an active membership.
  • Active-tenant selection is available through the self endpoint surface.
  • Authentication is required by default.

Install the minimum packages

dotnet add package PrimusSaaS.Memberships
dotnet add package PrimusSaaS.Memberships.AspNetCore
dotnet add package PrimusSaaS.Memberships.InMemory

Register services

using PrimusSaaS.Memberships.AspNetCore.DependencyInjection;
using PrimusSaaS.Memberships.DependencyInjection;
using PrimusSaaS.Memberships.InMemory.DependencyInjection;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddAuthentication(/* your scheme */);
builder.Services.AddAuthorization();

builder.Services.AddPrimusMemberships();
builder.Services.AddPrimusMembershipsInMemory();
builder.Services.AddPrimusMembershipsAspNetCore();

var app = builder.Build();

app.UseAuthentication();
app.UseAuthorization();
app.MapPrimusMembershipEndpoints();

app.Run();

Expected flow

  1. POST /primus/tenants/{tenantId}/invitations to create an invitation.
  2. POST /primus/invitations/{invitationId}/accept with the returned token.
  3. GET /primus/memberships/me/tenants returns the user's active membership.
  4. GET /primus/memberships/me/active-tenant returns the selected tenant after acceptance.

What this quickstart does not cover

  • Durable EF Core persistence
  • Host-level policy naming for self vs admin routes
  • Multi-Tenancy exemption for invitation acceptance
  • Identity Broker or RBAC bridge packages

Use the Integration Guide when you need those pieces.

Current run evidence

  • dotnet test sdk/dotnet/tests/PrimusSaaS.Memberships.Tests/PrimusSaaS.Memberships.Tests.csproj --no-restore --nologo Current run: 65/65 passed on net8.0, net9.0, and net10.0.
  • sdk/dotnet/tests/PrimusSaaS.Memberships.Tests/Integration/MembershipEndpointsTests.cs Endpoints_CreateAcceptInvite_AndReturnMemberships passed in the current run.
  • sdk/dotnet/tests/PrimusSaaS.Memberships.Tests/Integration/MembershipEndpointsTests.cs Endpoints_RequireAuthentication_ByDefault passed in the current run.