IBeam.Licensing.Services
2.4.0
dotnet add package IBeam.Licensing.Services --version 2.4.0
NuGet\Install-Package IBeam.Licensing.Services -Version 2.4.0
<PackageReference Include="IBeam.Licensing.Services" Version="2.4.0" />
<PackageVersion Include="IBeam.Licensing.Services" Version="2.4.0" />
<PackageReference Include="IBeam.Licensing.Services" />
paket add IBeam.Licensing.Services --version 2.4.0
#r "nuget: IBeam.Licensing.Services, 2.4.0"
#:package IBeam.Licensing.Services@2.4.0
#addin nuget:?package=IBeam.Licensing.Services&version=2.4.0
#tool nuget:?package=IBeam.Licensing.Services&version=2.4.0
IBeam.Licensing.Services
Tenant licensing services, plan catalog, entitlement authorization, and default in-memory store for IBeam-backed applications.
For ASP.NET Core endpoints, use IBeam.Licensing.Api.
Install:
dotnet add package IBeam.Licensing.Services
Register the default services:
builder.Services.AddIBeamLicensingServices(builder.Configuration);
Configure plans through IBeam:Licensing:
{
"IBeam": {
"Licensing": {
"Plans": [
{
"Key": "hubbsly-work",
"DisplayName": "Hubbsly Work",
"Description": "Work module access for users and agents.",
"Entitlements": [ "feature:work", "work:cards:create", "mcp:tools" ],
"Limits": {
"Seats": 4,
"McpCallsPerMonth": 10000
},
"Metadata": {
"product": "hubbsly",
"module": "work"
}
},
{
"Key": "hubbsly-money",
"DisplayName": "Hubbsly Money",
"Entitlements": [ "feature:money", "money:close:update" ],
"Limits": {
"Seats": 2
}
}
]
}
}
}
Grant a tenant license:
var license = await tenantLicenses.GrantLicenseAsync(
tenantId,
new GrantTenantLicenseRequest
{
PlanKey = "hubbsly-work",
ProviderName = "stripe",
ProviderCustomerId = "cus_123",
ProviderSubscriptionId = "sub_123"
},
createdByUserId,
ct);
Assign a seat to a user, API credential, or agent:
await seatAssignments.AssignSeatAsync(
tenantId,
license.LicenseId,
new AssignLicenseSeatRequest
{
Subject = new LicenseSubject(LicenseSubjectTypes.Agent, "codex")
},
createdByUserId,
ct);
Check access before running a feature:
await licenseAuthorizer.RequireEntitlementAsync(
tenantId,
new LicenseSubject(LicenseSubjectTypes.Agent, "codex"),
"work:cards:create",
ct);
The bundled store is in-memory and intended for local development, tests, and simple hosts. Production applications should replace ILicensingStore with an Azure Table, EF, or application-specific provider.
To replace the store:
builder.Services.AddIBeamLicensingServices(builder.Configuration);
builder.Services.AddScoped<ILicensingStore, MyLicensingStore>();
Register the replacement after AddIBeamLicensingServices so the host application's store wins.
| 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
- IBeam.Licensing (>= 2.4.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.3)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.3)
- Microsoft.Extensions.Options (>= 10.0.3)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on IBeam.Licensing.Services:
| Package | Downloads |
|---|---|
|
IBeam.Licensing.Api
ASP.NET Core endpoint wiring for IBeam tenant application licensing. |
GitHub repositories
This package is not used by any popular GitHub repositories.