IBeam.Licensing
2.4.0
dotnet add package IBeam.Licensing --version 2.4.0
NuGet\Install-Package IBeam.Licensing -Version 2.4.0
<PackageReference Include="IBeam.Licensing" Version="2.4.0" />
<PackageVersion Include="IBeam.Licensing" Version="2.4.0" />
<PackageReference Include="IBeam.Licensing" />
paket add IBeam.Licensing --version 2.4.0
#r "nuget: IBeam.Licensing, 2.4.0"
#:package IBeam.Licensing@2.4.0
#addin nuget:?package=IBeam.Licensing&version=2.4.0
#tool nuget:?package=IBeam.Licensing&version=2.4.0
IBeam.Licensing
Core contracts and models for tenant application licensing in IBeam-backed applications.
Install this package when you need licensing contracts in shared application code:
dotnet add package IBeam.Licensing
Use IBeam.Licensing.Services for runtime orchestration and IBeam.Licensing.Api for ASP.NET Core endpoint wiring.
Licensing is intentionally separate from Identity. Identity should identify the user, tenant, API credential, or agent and enforce roles/scopes. Licensing answers whether that tenant has purchased or been granted a feature entitlement and whether the subject consumes a licensed seat.
Core concepts:
- License plans define default entitlements and limits.
- Tenant licenses grant a plan to a tenant, optionally with provider references and overrides.
- Seat assignments link a license to a user, API credential, agent, or external subject.
ILicenseAuthorizerchecks runtime access to feature entitlements.
Typical service-layer usage:
public sealed class WorkCardService
{
private readonly ILicenseAuthorizer _licenses;
public WorkCardService(ILicenseAuthorizer licenses)
{
_licenses = licenses;
}
public async Task CreateCardAsync(Guid tenantId, Guid userId, CancellationToken ct)
{
await _licenses.RequireEntitlementAsync(
tenantId,
new LicenseSubject(LicenseSubjectTypes.User, userId.ToString()),
"work:cards:create",
ct);
// Continue with the licensed operation.
}
}
Identity and Licensing should usually be checked together:
await _roleAccess.AuthorizeAsync(user, "work:write", ct);
await _licenses.RequireEntitlementAsync(tenantId, subject, "work:cards:create", ct);
For API credential and MCP scenarios, treat the API credential scope as the authenticated permission and the license entitlement as the purchased capability:
API credential scope: api-scope:work
License entitlement: work:cards:create
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on IBeam.Licensing:
| Package | Downloads |
|---|---|
|
IBeam.Licensing.Services
Tenant licensing services, plan catalog, entitlement authorization, and in-memory store for IBeam-backed applications. |
GitHub repositories
This package is not used by any popular GitHub repositories.