VOOZH about

URL: https://www.nuget.org/packages/Keycloak.AuthServices.Templates

⇱ NuGet Gallery | Keycloak.AuthServices.Templates 3.0.0




👁 Image
Keycloak.AuthServices.Templates 3.0.0

Prefix Reserved
dotnet new install Keycloak.AuthServices.Templates@3.0.0
 
 
This package contains a .NET Template Package you can call from the shell/command line.

Keycloak.AuthServices

👁 Discord
👁 Build
👁 NuGet
👁 contributionswelcome
👁 Conventional Commits
👁 License

🔐 Easy Authentication and Authorization with Keycloak in .NET.

Package Version Description
Keycloak.AuthServices.Authentication 👁 Nuget
Keycloak Authentication JWT + OIDC
Keycloak.AuthServices.Authorization 👁 Nuget
Authorization Services. Use Keycloak as authorization server
Keycloak.AuthServices.Authorization.TokenIntrospection 👁 Nuget
Token introspection for lightweight access tokens (KC 24+)
Keycloak.AuthServices.Authorization.Uma 👁 Nuget
UMA 2.0 support — permission ticket challenges, RPT exchange
Keycloak.AuthServices.Sdk 👁 Nuget
HTTP API integration with Keycloak
Keycloak.AuthServices.Sdk.Kiota 👁 Nuget
HTTP API integration with Keycloak based on OpenAPI
Keycloak.AuthServices.OpenTelemetry 👁 Nuget
OpenTelemetry support
Keycloak.AuthServices.Templates 👁 Nuget
dotnet new templates

Documentation

For Developer Documentation see: https://nikiforovall.github.io/keycloak-authorization-services-dotnet

API Reference

See: https://nikiforovall.github.io/keycloak-authorization-services-dotnet-docs

Getting Started

Install packages:

dotnet add package Keycloak.AuthServices.Authentication
// Program.cs
using Keycloak.AuthServices.Authentication;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddKeycloakWebApiAuthentication(builder.Configuration);
builder.Services.AddAuthorization();

var app = builder.Build();

app.UseAuthentication();
app.UseAuthorization();

app.MapGet("/", () => "Hello World!").RequireAuthorization();

app.Run();

In this example, configuration is based on appsettings.json.

//appsettings.json
{
 "Keycloak": {
 "realm": "Test",
 "auth-server-url": "http://localhost:8080/",
 "ssl-required": "none",
 "resource": "test-client",
 "verify-token-audience": false,
 "credentials": {
 "secret": ""
 },
 "confidential-port": 0
 }
}

Example - Add Authorization

With Keycloak.AuthServices.Authorization, you can implement role-based authorization in your application. This package allows you to define policies based on roles. Also, you can use Keycloak as Authorization Server. It is a powerful way to organize and apply authorization polices centrally.

var builder = WebApplication.CreateBuilder(args);

var host = builder.Host;
var configuration = builder.Configuration;
var services = builder.Services;

services.AddKeycloakWebApiAuthentication(configuration);

services.AddAuthorization(options =>
 {
 options.AddPolicy("AdminAndUser", builder =>
 {
 builder
 .RequireRealmRoles("User") // Realm role is fetched from token
 .RequireResourceRoles("Admin"); // Resource/Client role is fetched from token
 });
 })
 .AddKeycloakAuthorization(configuration);

var app = builder.Build();

app.UseAuthentication();
app.UseAuthorization();

app.MapGet("/hello", () => "[]")
 .RequireAuthorization("AdminAndUser");

app.Run();

Example - Invoke Admin API

var services = new ServiceCollection();
services.AddKeycloakAdminHttpClient(new KeycloakAdminClientOptions
{
 AuthServerUrl = "http://localhost:8080/",
 Realm = "master",
 Resource = "admin-api",
});

var sp = services.BuildServiceProvider();
var client = sp.GetRequiredService<IKeycloakRealmClient>();

var realm = await client.GetRealmAsync("Test");

Build and Development

dotnet cake --target build

dotnet cake --target test

dotnet pack -o ./Artefacts

  • net10.0

    • No dependencies.

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
3.0.0 116 5/2/2026
3.0.0-rc.1 65 4/14/2026
2.10.0-rc.1 72 4/13/2026
2.9.0 132 3/27/2026
2.8.1 105 3/22/2026
2.8.0 266 12/25/2025
2.7.0 314 9/4/2025
2.6.1 461 3/13/2025
2.6.0 379 11/30/2024
2.5.5 212 11/27/2024
2.5.3 531 8/19/2024
2.5.2 473 6/15/2024
2.5.1 211 6/11/2024
2.5.0 262 6/2/2024
2.4.2-preview.0.4 144 6/2/2024