Skip to content

silentpartnersoftware/Keycloak.Net

 
 

Repository files navigation

Icon

Keycloak.Net.Core

license NuGet downloads

A Fork of https://github.com/lvermeulen/Keycloak.Net with some additional patches

  • allow usage of CancellationTokens
  • changed ClientConfig to Dictionary<string, string>
  • removed signing
  • .NET 8 support only
  • updated for keycloak version 25+
  • added support for changing default AdminClientId which has default admin-cli value
  • added support for System.Text.Json in replacement of NewtonsoftJson.

To use different AdminClientId, use newly introduced KeyCloakOptions:

new KeycloakClient(
  "http://keycloak.url",
  "adminUserName",
  "adminPassword",
  new KeycloakOptions(adminClientId:"admin"
  )
);

Older version support for using /auth path

When creating a new KeycloakClient, use newly introduced KeycloakOptions:

new KeycloakClient(
   "http://keycloak.url",
   "adminUserName",
   "adminPassword",
   new KeycloakOptions(prefix:"auth"
   )
);

C# client for Keycloak 6.x

See documentation at https://www.keycloak.org/docs-api/6.0/rest-api/

Features

  • Attack Detection
  • Authentication Management
  • Client Attribute Certificate
  • Client Initial Access
  • Client Registration Policy
  • Client Role Mappings
  • Client Scopes
  • Clients
  • Component
  • Groups
  • Identity Providers
  • Key
  • Protocol Mappers
  • Realms Admin
  • Role Mapper
  • Roles
  • Roles (by ID)
  • Scope Mappings
  • User Storage Provider
  • Users
  • Root

Testing

In order to run the tests, all it's needed is to have a running instance of Keycloak with (preferably) the master realm credentials admin/admin (as it's currently configured in the /test/Keycloak.Net.Core.Tests/appsettings.json) and create a new realm Insurance by importing the file in /test/insurance-real-export.json, which also has its admin user with the same credentials as mentioned before.

Then it's just as easy as running the tests.

If for some reason you want to change the credentials, you need to make sure both realms have the same user and password as the tests use the same credentials for both master and Insurance realms.

About

C# client for Keycloak version 17+

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • C# 99.8%
  • PowerShell 0.2%