Dosaic.Plugins.Authorization.Abstractions
1.2.8
dotnet add package Dosaic.Plugins.Authorization.Abstractions --version 1.2.8
NuGet\Install-Package Dosaic.Plugins.Authorization.Abstractions -Version 1.2.8
<PackageReference Include="Dosaic.Plugins.Authorization.Abstractions" Version="1.2.8" />
<PackageVersion Include="Dosaic.Plugins.Authorization.Abstractions" Version="1.2.8" />
<PackageReference Include="Dosaic.Plugins.Authorization.Abstractions" />
paket add Dosaic.Plugins.Authorization.Abstractions --version 1.2.8
#r "nuget: Dosaic.Plugins.Authorization.Abstractions, 1.2.8"
#:package Dosaic.Plugins.Authorization.Abstractions@1.2.8
#addin nuget:?package=Dosaic.Plugins.Authorization.Abstractions&version=1.2.8
#tool nuget:?package=Dosaic.Plugins.Authorization.Abstractions&version=1.2.8
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.3)
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.8 | 17 | 3/9/2026 |
| 1.2.7 | 75 | 3/4/2026 |
| 1.2.6 | 100 | 2/19/2026 |
| 1.2.5 | 88 | 2/17/2026 |
| 1.2.4 | 119 | 2/13/2026 |
| 1.2.3 | 109 | 1/27/2026 |
| 1.2.2 | 299 | 12/16/2025 |
| 1.2.1 | 278 | 12/16/2025 |
| 1.2.0 | 427 | 12/11/2025 |
| 1.1.21 | 471 | 12/10/2025 |
| 1.1.20 | 436 | 11/18/2025 |
| 1.1.19 | 321 | 11/11/2025 |
| 1.1.18 | 214 | 10/14/2025 |
| 1.1.17 | 223 | 10/1/2025 |
| 1.1.16 | 228 | 9/25/2025 |
| 1.1.15 | 218 | 9/24/2025 |
| 1.1.14 | 220 | 9/24/2025 |
| 1.1.13 | 225 | 9/24/2025 |
| 1.1.12 | 350 | 9/16/2025 |
| 1.1.11 | 174 | 7/18/2025 |