Dosaic.Plugins.Authorization.Abstractions
1.2.30
dotnet add package Dosaic.Plugins.Authorization.Abstractions --version 1.2.30
NuGet\Install-Package Dosaic.Plugins.Authorization.Abstractions -Version 1.2.30
<PackageReference Include="Dosaic.Plugins.Authorization.Abstractions" Version="1.2.30" />
<PackageVersion Include="Dosaic.Plugins.Authorization.Abstractions" Version="1.2.30" />
<PackageReference Include="Dosaic.Plugins.Authorization.Abstractions" />
paket add Dosaic.Plugins.Authorization.Abstractions --version 1.2.30
#r "nuget: Dosaic.Plugins.Authorization.Abstractions, 1.2.30"
#:package Dosaic.Plugins.Authorization.Abstractions@1.2.30
#addin nuget:?package=Dosaic.Plugins.Authorization.Abstractions&version=1.2.30
#tool nuget:?package=Dosaic.Plugins.Authorization.Abstractions&version=1.2.30
Dosaic.Plugins.Authorization.Abstractions
Dosaic.Plugins.Authorization.Abstractions provides shared authorization primitives for the Dosaic plugin ecosystem. It defines a model for role-based authorization policies (AuthPolicy) and a set of extension helpers (PolicyExtensions) that make it straightforward to register pre-built or custom policies with ASP.NET Core's authorization middleware.
Concrete authentication plugins (e.g. Dosaic.Plugins.Authorization.Keycloak) depend on this package to declare and wire up their policies in a uniform way.
Installation
dotnet add package Dosaic.Plugins.Authorization.Abstractions
Or add as a package reference to your .csproj:
<PackageReference Include="Dosaic.Plugins.Authorization.Abstractions" Version="" />
Types
AuthPolicy
Represents a named ASP.NET Core authorization policy that requires the authenticated user to hold one or more roles.
| Property | Type | Description |
|---|---|---|
Name |
string |
The policy name used when calling [Authorize(Policy = "...")]. |
Roles |
IList<string> |
The roles the user must possess for the policy to succeed. |
PolicyExtensions
A static helper class that exposes two pre-built policies and two extension methods for AuthorizationOptions.
Pre-built policies
| Field | Type | Description |
|---|---|---|
AuthenticatedPolicy |
AuthorizationPolicy |
Requires the user to be authenticated (RequireAuthenticatedUser()). |
AllowAllPolicy |
AuthorizationPolicy |
Allows every request regardless of authentication state (RequireAssertion(_ => true)). |
Extension methods
| Method | Description |
|---|---|
AddDefaultPolicy(AuthorizationOptions, AuthorizationPolicy) |
Sets the supplied policy as both the default policy and registers it under the name "DEFAULT". |
AddAuthPolicies(AuthorizationOptions, IEnumerable<AuthPolicy>) |
Iterates a collection of AuthPolicy objects and registers each one as a named role-based policy. |
Usage
Registering the default "authenticated" policy
using Dosaic.Plugins.Authorization.Abstractions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.Extensions.DependencyInjection;
services.AddAuthorization(options =>
{
// Every endpoint that does not specify an explicit policy
// will require an authenticated user.
options.AddDefaultPolicy(PolicyExtensions.AuthenticatedPolicy);
});
Registering a permissive (allow-all) policy — useful for development or disabled auth
services.AddAuthorization(options =>
{
options.AddDefaultPolicy(PolicyExtensions.AllowAllPolicy);
});
Registering role-based policies from configuration
var policies = new List<AuthPolicy>
{
new AuthPolicy { Name = "AdminOnly", Roles = ["admin"] },
new AuthPolicy { Name = "ReadWrite", Roles = ["editor", "admin"] },
};
services.AddAuthorization(options =>
{
options.AddDefaultPolicy(PolicyExtensions.AuthenticatedPolicy);
options.AddAuthPolicies(policies);
});
Apply the named policy on a controller or endpoint:
[Authorize(Policy = "AdminOnly")]
[ApiController]
[Route("admin")]
public class AdminController : ControllerBase
{
// Only users with the "admin" role can reach these endpoints.
}
Driving policies from appsettings
When using the Keycloak plugin, AuthPolicy instances are typically loaded from configuration:
keycloak:
enabled: true
host: keycloak.example.com
clientId: my-service
policies:
- name: AdminOnly
roles:
- admin
- name: ReadWrite
roles:
- editor
- admin
The Keycloak plugin reads the policies list as IList<AuthPolicy> and passes it to options.AddAuthPolicies(...) during ConfigureServices.
| 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
- Microsoft.AspNetCore.Authorization (>= 10.0.7)
- Microsoft.Extensions.Configuration (>= 10.0.7)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Dosaic.Plugins.Authorization.Abstractions:
| Package | Downloads |
|---|---|
|
Dosaic.Plugins.Authorization.Keycloak
A plugin-first dotnet framework for rapidly building anything hosted in the web. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2.30 | 98 | 5/7/2026 |
| 1.2.29 | 93 | 5/5/2026 |
| 1.2.28 | 102 | 4/30/2026 |
| 1.2.27 | 106 | 4/29/2026 |
| 1.2.26 | 100 | 4/29/2026 |
| 1.2.25 | 103 | 4/27/2026 |
| 1.2.24 | 99 | 4/21/2026 |
| 1.2.23 | 115 | 4/14/2026 |
| 1.2.22 | 102 | 4/10/2026 |
| 1.2.21 | 108 | 4/10/2026 |
| 1.2.20 | 109 | 4/10/2026 |
| 1.2.19 | 97 | 4/9/2026 |
| 1.2.18 | 113 | 4/2/2026 |
| 1.2.17 | 104 | 4/1/2026 |
| 1.2.16 | 105 | 4/1/2026 |
| 1.2.15 | 104 | 3/31/2026 |
| 1.2.14 | 113 | 3/30/2026 |
| 1.2.13 | 107 | 3/26/2026 |
| 1.2.12 | 109 | 3/24/2026 |
| 1.2.11 | 112 | 3/17/2026 |