PiBox.Plugins.Authorization.Keycloak
1.0.60
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package PiBox.Plugins.Authorization.Keycloak --version 1.0.60
NuGet\Install-Package PiBox.Plugins.Authorization.Keycloak -Version 1.0.60
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="PiBox.Plugins.Authorization.Keycloak" Version="1.0.60" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PiBox.Plugins.Authorization.Keycloak --version 1.0.60
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: PiBox.Plugins.Authorization.Keycloak, 1.0.60"
#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.
// Install PiBox.Plugins.Authorization.Keycloak as a Cake Addin #addin nuget:?package=PiBox.Plugins.Authorization.Keycloak&version=1.0.60 // Install PiBox.Plugins.Authorization.Keycloak as a Cake Tool #tool nuget:?package=PiBox.Plugins.Authorization.Keycloak&version=1.0.60
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
PiBox.Plugins.Authorization.Keycloak
PiBox.Plugins.Authorization.Keycloak is a plugin
that allows to use authentication polices with an keycloak server instance for authentication & authorization
.
Installation
To install the nuget package follow these steps:
dotnet add package PiBox.Plugins.Authorization.Keycloak
or add as package reference to your .csproj
<PackageReference Include="PiBox.Plugins.Authorization.Keycloak" Version="" />
Appsettings.yml
Configure your appsettings.yml with these properties
keycloak:
enabled: true #whenever the whole plugin should be active or not
host: host.example #keycloak host url
insecure: false i used protocol https vs http
realms:
prefix: '/realms/' # url prefix which should be used before the realm
policies: # policies which should be available within the service/application
- name: READ
roles:
- API_PERMISSIONS_READ
- name: WRITE
roles:
- API_PERMISSIONS_WRITE
PluginReadmeTemplateConfig.cs
[Configuration("keycloak")]
public class KeycloakPluginConfiguration
{
public bool Enabled { get; set; }
public string? Host { get; set; }
public bool Insecure { get; set; }
public RealmsConfig Realms { get; set; } = new RealmsConfig();
public IList<AuthPolicy> Policies { get; set; } = new List<AuthPolicy>();
}
public class RealmsConfig
{
public string Prefix { get; set; } = "/auth/realms/";
}
Usage
public class PluginReadme : IPluginEndpointsConfiguration
{
public void ConfigureEndpoints(IEndpointRouteBuilder endpointRouteBuilder, IServiceProvider serviceProvider)
{
endpointRouteBuilder
.AddSimpleRestResource<MyResourceClass>(serviceProvider, "my-resource")
.ForGet(configuration => configuration.WithPolicies("READ")) // assign individual policies for each http verb
.ForGetList(configuration => configuration.WithPolicies("READ"))
.ForDelete(configuration => configuration.WithPolicies("WRITE"))
.ForPost(configuration => configuration.WithPolicies("WRITE"))
.ForPut(configuration => configuration.WithPolicies("WRITE"))
.ForAll(configuration => configuration.WithPolicies("WRITE", "READ")); // or for all at once
endpointRouteBuilder.MapGet("/hello", async () => "Hello World!").RequireAuthorization("READ");
}
}
public class ExampleController : ControllerBase
{
[HttpGet]
[Authorize("READ")]
public IActionResult Hello() => Ok();
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- AspNetCore.HealthChecks.Uris (>= 8.0.0)
- BouncyCastle.NetCore (>= 2.2.1)
- Microsoft.AspNetCore.Authentication.OpenIdConnect (>= 8.0.2)
- Microsoft.IdentityModel.Tokens (>= 7.3.1)
- Newtonsoft.Json (>= 13.0.3)
- PiBox.Hosting.Abstractions (>= 1.0.60)
- PiBox.Plugins.Authorization.Abstractions (>= 1.0.60)
- System.IdentityModel.Tokens.Jwt (>= 7.3.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.73 | 78 | 10/22/2024 |
1.0.66 | 134 | 10/15/2024 |
1.0.64 | 105 | 10/14/2024 |
1.0.61 | 122 | 10/1/2024 |
1.0.60 | 111 | 9/27/2024 |
1.0.54 | 231 | 4/30/2024 |
1.0.51 | 135 | 2/27/2024 |
1.0.49 | 102 | 2/27/2024 |
1.0.47 | 113 | 2/21/2024 |
1.0.45 | 108 | 2/20/2024 |
1.0.43 | 112 | 2/13/2024 |
1.0.41 | 114 | 2/13/2024 |
1.0.39 | 115 | 2/8/2024 |
1.0.38 | 120 | 2/8/2024 |
1.0.37 | 111 | 2/8/2024 |
1.0.35 | 106 | 2/2/2024 |
1.0.32 | 103 | 1/30/2024 |
1.0.25 | 201 | 12/27/2023 |
1.0.23 | 106 | 12/19/2023 |
1.0.22 | 74 | 12/19/2023 |
1.0.21 | 89 | 12/19/2023 |
1.0.19 | 115 | 12/11/2023 |
1.0.17 | 150 | 11/23/2023 |
1.0.7 | 119 | 11/23/2023 |
1.0.5 | 112 | 11/23/2023 |
1.0.3 | 116 | 11/23/2023 |
1.0.0 | 110 | 11/21/2023 |
0.9.9 | 117 | 11/21/2023 |
0.9.7 | 112 | 11/21/2023 |