Keycloak.Net.Authorization
1.0.2-rc0.2
See the version list below for details.
dotnet add package Keycloak.Net.Authorization --version 1.0.2-rc0.2
NuGet\Install-Package Keycloak.Net.Authorization -Version 1.0.2-rc0.2
<PackageReference Include="Keycloak.Net.Authorization" Version="1.0.2-rc0.2" />
paket add Keycloak.Net.Authorization --version 1.0.2-rc0.2
#r "nuget: Keycloak.Net.Authorization, 1.0.2-rc0.2"
// Install Keycloak.Net.Authorization as a Cake Addin
#addin nuget:?package=Keycloak.Net.Authorization&version=1.0.2-rc0.2&prerelease
// Install Keycloak.Net.Authorization as a Cake Tool
#tool nuget:?package=Keycloak.Net.Authorization&version=1.0.2-rc0.2&prerelease
Keycloak .Net Authorization
Authentication and Authorization with Keycloak in .NET and ASP.NET Core. Secure your api with Keycloak UMA authorization and JWT bearer authentication.
Add the Keycloak.Net.Authorization nuget package to your project.
Api calls requires auhorization header with an JWT token from Keycloak.
POST https://yourapi/action HTTP/1.1
Auhorization: Bearer JwtTokenContent
How to use
Add to program.cs of your api
Add and configure Keycloak.Net.Authentication services - see README.md
using Keycloak.Net.Authentication;
using Keycloak.Net.Authorization;
new code π
.....
πnew code
builder.Services
// Keycloak.Net.Authentication services
.AddKeyCloakAuthentication()
.AddKeyCloakJwtBearerOptions("appsettings_section_name");
.....
app.UseAuthentication();
app.UseAuthorization();
Add and configure Keycloak.Net.Authorization
Configure using the Action<ClientConfiguration>
builder.Services
// Keycloak.Net.Authentication services
.AddKeyCloakAuthentication()
.AddKeyCloakJwtBearerOptions("appsettings_section_name");
.AddUma(client =>
{
client.ClientId = "client-role";
});
new code π
.....
πnew code
app.UseUma();
app.UseAuthentication();
app.UseAuthorization();
Configure by appsettings.{Environment}.json
builder.Services
// Keycloak.Net.Authentication services
.AddKeyCloakAuthentication()
.AddKeyCloakJwtBearerOptions("Appsettings_Section_Name")
.AddUma("Client_Section_Name);
new code π
.....
πnew code
app.UseUma();
app.UseAuthentication();
app.UseAuthorization();
Add to your appsettings.{Environment}.json
{
"Client_Section_Name": {
"ClientId": "<CLIENT_NAME>"
}
Add to your endpoints
MinimalAPI
Via custom extenxion method
app.MapGet("api/example", () =>
Results.Ok()
.RequireUmaAuthorization(resource: "<<resource>>", scope: "<<scope>>");
Via Attribute
app.MapGet("api/example", [Permission(Resource = "<<resource>>", Scope = "<<scope>>")] () =>
Results.Ok();
Via ASP.NET extension method. The policy string format is: Permission:<<resource>>,<<scope>>
app.MapGet("api/example", () =>
Results.Ok()
.RequireAuthorization("Permission:<<resource>>,<<scope>>");
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. |
-
net8.0
- Keycloak.Net.Authentication (>= 1.0.2-rc0.2)
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 |
---|---|---|
2.0.0 | 97 | 2/20/2024 |
1.0.3 | 106 | 1/27/2024 |
1.0.2 | 83 | 1/24/2024 |
1.0.2-rc0.2 | 56 | 1/23/2024 |