IBeam.Identity
2.0.32
dotnet add package IBeam.Identity --version 2.0.32
NuGet\Install-Package IBeam.Identity -Version 2.0.32
<PackageReference Include="IBeam.Identity" Version="2.0.32" />
<PackageVersion Include="IBeam.Identity" Version="2.0.32" />
<PackageReference Include="IBeam.Identity" />
paket add IBeam.Identity --version 2.0.32
#r "nuget: IBeam.Identity, 2.0.32"
#:package IBeam.Identity@2.0.32
#addin nuget:?package=IBeam.Identity&version=2.0.32
#tool nuget:?package=IBeam.Identity&version=2.0.32
IBeam.Identity
IBeam.Identity is the contract package for the IBeam identity domain.
Narrative Introduction
This package provides the shared language for identity workflows across API, services, and repository implementations. It contains interfaces, request/response models, options, and event contracts so all higher-level packages can evolve independently behind stable abstractions.
Features and Components
- auth service contracts:
IIdentityAuthServiceIIdentityOtpAuthServiceIIdentityOAuthAuthServiceITokenService
- store contracts:
IIdentityUserStore,IOtpChallengeStore,IExternalLoginStoreITenantMembershipStore,ITenantProvisioningService,IAuthSessionStoreITenantRoleStorefor tenant-scoped role CRUD and assignmentIPermissionAccessStorefor tenant permission->role mappings (dynamic access map)
- service contracts:
ITenantRoleServicefor role orchestration in app/service layersIRoleAccessAuthorizerfor enforcing role access attributes in non-API servicesIPermissionAccessAuthorizerfor dynamic permission-map authorization in services
- identity models and transport records
- options models (
JwtOptions,OtpOptions,OAuthOptions,FeatureOptions, etc.) - lifecycle event contracts and default no-op implementations
- role access attributes (service-safe, no MVC dependency):
[RoleAccess("owner", "billing")][RoleAccessId("3f7a4b4f-8fc5-49bb-b6fe-1f4a9b43a3e9")][AllowAllRoleAccess]to allow all authenticated users for a class/method
- dynamic permission attributes (external role mapping):
[PermissionAccess("SavePatient")][PermissionAccessId("6c76f166-b130-4c80-bf7e-99d38ea1a75f")]
Dependencies
- External packages: none
- Internal packages: none
Configuration Models Exposed
IBeam:Identity:JwtIBeam:Identity:OtpIBeam:Identity:OAuthIBeam:Identity:FeaturesIBeam:Identity:EventsIBeam:Identity:EmailTemplatesIBeam:Identity:PermissionAccess
Service Role Access Example
[RoleAccess("SavePatient")]
public sealed class PatientService
{
private readonly IRoleAccessAuthorizer _roleAccess;
public PatientService(IRoleAccessAuthorizer roleAccess)
{
_roleAccess = roleAccess;
}
public Task SavePatientAsync(ClaimsPrincipal user, CancellationToken ct = default)
{
_roleAccess.EnsureAuthorizedForCurrentMethod(user, this);
// service logic...
return Task.CompletedTask;
}
[AllowAllRoleAccess]
public Task GetSummaryAsync(ClaimsPrincipal user, CancellationToken ct = default)
{
_roleAccess.EnsureAuthorizedForCurrentMethod(user, this);
// Internal branch check: run extra side effects only for non-admins.
if (!user.HasAnyRole("admin", "administrator"))
{
// send notification, enqueue event, etc.
}
return Task.CompletedTask;
}
}
| 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 (2)
Showing the top 2 NuGet packages that depend on IBeam.Identity:
| Package | Downloads |
|---|---|
|
IBeam.Identity.Services
IBeam modular framework components for .NET APIs and services. |
|
|
IBeam.Identity.Repositories.EntityFramework
IBeam modular framework components for .NET APIs and services. |
GitHub repositories
This package is not used by any popular GitHub repositories.