VOOZH about

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

⇱ NuGet Gallery | Keycloak.AuthServices.OpenTelemetry 1.0.0




👁 Image
Keycloak.AuthServices.OpenTelemetry 1.0.0

Prefix Reserved
dotnet add package Keycloak.AuthServices.OpenTelemetry --version 1.0.0
 
 
NuGet\Install-Package Keycloak.AuthServices.OpenTelemetry -Version 1.0.0
 
 
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="Keycloak.AuthServices.OpenTelemetry" Version="1.0.0" />
 
 
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Keycloak.AuthServices.OpenTelemetry" Version="1.0.0" />
 
Directory.Packages.props
<PackageReference Include="Keycloak.AuthServices.OpenTelemetry" />
 
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Keycloak.AuthServices.OpenTelemetry --version 1.0.0
 
 
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Keycloak.AuthServices.OpenTelemetry, 1.0.0"
 
 
#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.
#:package Keycloak.AuthServices.OpenTelemetry@1.0.0
 
 
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Keycloak.AuthServices.OpenTelemetry&version=1.0.0
 
Install as a Cake Addin
#tool nuget:?package=Keycloak.AuthServices.OpenTelemetry&version=1.0.0
 
Install as a Cake Tool
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Keycloak.AuthServices

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

Easy Authentication and Authorization with Keycloak in .NET.

Package Version Description
Keycloak.AuthServices.Authentication 👁 Nuget
Keycloak Authentication JWT + OICD
Keycloak.AuthServices.Authorization 👁 Nuget
Authorization Services. Use Keycloak as authorization server
Keycloak.AuthServices.Sdk 👁 Nuget
HTTP API integration with Keycloak
Keycloak.AuthServices.Sdk.Kiota 👁 Nuget
HTTP API integration with Keycloak based on OpenAPI

👁 GitHub Actions Build History

Documentation

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

Getting Started

Install packages:

dotnet add package Keycloak.AuthServices.Authentication
dotnet add package Keycloak.AuthServices.Common
// 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

Product Versions Compatible and additional computed target framework versions.
.NET net6.0 net6.0 is compatible.  net6.0-android net6.0-android was computed.  net6.0-ios net6.0-ios was computed.  net6.0-maccatalyst net6.0-maccatalyst was computed.  net6.0-macos net6.0-macos was computed.  net6.0-tvos net6.0-tvos was computed.  net6.0-windows net6.0-windows was computed.  net7.0 net7.0 was computed.  net7.0-android net7.0-android was computed.  net7.0-ios net7.0-ios was computed.  net7.0-maccatalyst net7.0-maccatalyst was computed.  net7.0-macos net7.0-macos was computed.  net7.0-tvos net7.0-tvos was computed.  net7.0-windows net7.0-windows was computed.  net8.0 net8.0 was computed.  net8.0-android net8.0-android was computed.  net8.0-browser net8.0-browser was computed.  net8.0-ios net8.0-ios was computed.  net8.0-maccatalyst net8.0-maccatalyst was computed.  net8.0-macos net8.0-macos was computed.  net8.0-tvos net8.0-tvos was computed.  net8.0-windows net8.0-windows was computed.  net9.0 net9.0 was computed.  net9.0-android net9.0-android was computed.  net9.0-browser net9.0-browser was computed.  net9.0-ios net9.0-ios was computed.  net9.0-maccatalyst net9.0-maccatalyst was computed.  net9.0-macos net9.0-macos was computed.  net9.0-tvos net9.0-tvos was computed.  net9.0-windows net9.0-windows was computed.  net10.0 net10.0 was computed.  net10.0-android net10.0-android was computed.  net10.0-browser net10.0-browser was computed.  net10.0-ios net10.0-ios was computed.  net10.0-maccatalyst net10.0-maccatalyst was computed.  net10.0-macos net10.0-macos was computed.  net10.0-tvos net10.0-tvos was computed.  net10.0-windows net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on Keycloak.AuthServices.OpenTelemetry:

Package Downloads
Iskra.Core.Auth

Настройка авторизации в Keycloak.

Iskra.Core.ApiDocumentation

Формирование Swagger документации с настройкой авторизации.

Iskra.Clients.References

Package Description

Iskra.Clients.Organizations

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 75,478 5/10/2024