Corely.IAM
1.0.0
dotnet add package Corely.IAM --version 1.0.0
NuGet\Install-Package Corely.IAM -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Corely.IAM" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Corely.IAM" Version="1.0.0" />
<PackageReference Include="Corely.IAM" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Corely.IAM --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Corely.IAM, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Corely.IAM@1.0.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Corely.IAM&version=1.0.0
#tool nuget:?package=Corely.IAM&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Corely.IAM
Host-agnostic, multi-tenant identity and access management for .NET applications. Drop-in authentication, authorization, RBAC, and permission management — no external service dependencies.
graph LR
subgraph Host App
A[IAMOptions.Create] --> B[AddIAMServices]
end
B --> C[IRegistrationService]
B --> D[IAuthenticationService]
B --> E[IRetrievalService]
B --> F[IModificationService]
B --> G[IMfaService]
C & D & E & F & G --> H[Processors]
H --> I[Repositories]
I --> J[(Database)]
style A fill:#4a9eff,color:#fff
style B fill:#4a9eff,color:#fff
style C fill:#2ecc71,color:#fff
style D fill:#2ecc71,color:#fff
style E fill:#2ecc71,color:#fff
style F fill:#2ecc71,color:#fff
style G fill:#2ecc71,color:#fff
style H fill:#f39c12,color:#fff
style I fill:#e74c3c,color:#fff
style J fill:#9b59b6,color:#fff
Highlights
- Multi-tenant accounts — users belong to multiple accounts with scoped RBAC
- CRUDX permissions — fine-grained Create / Read / Update / Delete / Execute per resource type
- Token-based auth — JWT with custom claims, no HttpContext dependency
- Multi-factor authentication — TOTP (authenticator apps) with recovery codes
- Google Sign-In — link Google accounts as an alternative auth method
- Invitation system — token-based onboarding with expiry and revocation
- Per-entity encryption — account and user-scoped key pairs, stored encrypted
- Pluggable crypto — configure algorithms via the
IAMOptionsbuilder - Three database providers — SQL Server, MySQL, MariaDB via EF Core
Quick Start
// Register services
var options = IAMOptions.Create(configuration, securityConfigProvider, efConfigFactory);
services.AddIAMServices(options);
// Register a user and account
var registrationService = serviceProvider.GetRequiredService<IRegistrationService>();
var userResult = await registrationService.RegisterUserAsync(
new RegisterUserRequest("admin", "admin@example.com", "P@ssw0rd!"));
var accountResult = await registrationService.RegisterAccountAsync(
new RegisterAccountRequest("My Organization"));
Documentation
| Docs | Description |
|---|---|
| Corely.IAM | Core library — setup, services, domains, security, architecture |
| Corely.IAM.Web | Pre-built Blazor UI — auth pages, account management, RBAC visualization |
| DevTools CLI | Crypto operations and IAM service interaction from the command line |
| Migration CLI | Database creation, migrations, and scripting |
Solution Structure
| Project | Purpose |
|---|---|
Corely.IAM |
Core library — business logic, data access, security |
Corely.IAM.Web |
Blazor Server UI — pages, components, auth flow |
Corely.IAM.WebApp |
Host application (reference implementation) |
Corely.IAM.UnitTests |
Test suite (xUnit, Moq, AutoFixture, FluentAssertions) |
Corely.IAM.DevTools |
Developer CLI for crypto and IAM operations |
Corely.IAM.DataAccessMigrations.* |
EF Core migrations per database provider |
License
See LICENSE for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Corely.Common (>= 1.2.1)
- Corely.DataAccess (>= 2.2.10)
- Corely.Security (>= 1.0.2)
- FluentValidation (>= 12.1.1)
- FluentValidation.DependencyInjectionExtensions (>= 12.1.1)
- Microsoft.EntityFrameworkCore (>= 9.0.10)
- Microsoft.EntityFrameworkCore.Relational (>= 9.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.2)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.2)
- Microsoft.IdentityModel.Protocols.OpenIdConnect (>= 8.15.0)
- Microsoft.IdentityModel.Tokens (>= 8.15.0)
- Scrutor (>= 7.0.0)
- System.IdentityModel.Tokens.Jwt (>= 8.15.0)
-
net9.0
- Corely.Common (>= 1.2.1)
- Corely.DataAccess (>= 2.2.10)
- Corely.Security (>= 1.0.2)
- FluentValidation (>= 12.1.1)
- FluentValidation.DependencyInjectionExtensions (>= 12.1.1)
- Microsoft.EntityFrameworkCore (>= 9.0.10)
- Microsoft.EntityFrameworkCore.Relational (>= 9.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.2)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.2)
- Microsoft.IdentityModel.Protocols.OpenIdConnect (>= 8.15.0)
- Microsoft.IdentityModel.Tokens (>= 8.15.0)
- Scrutor (>= 7.0.0)
- System.IdentityModel.Tokens.Jwt (>= 8.15.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Corely.IAM:
| Package | Downloads |
|---|---|
|
Corely.IAM.Web
ASP.NET Core integration for Corely IAM. Provides middleware, services, and Razor components for web-based identity and access management. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 140 | 3/16/2026 |