You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求ASP.NET可用的更新版Keycloak C#库及Realm代码配置方案

适用于ASP.NET的可用Keycloak库推荐(针对Realm配置场景)

针对你提到的官方C#库停止维护、需要实现Realm配置运行器的需求,目前有几个社区维护的第三方库可以替代,以下是最实用的两个:

1. KeycloakAdmin.NET

这是一个针对Keycloak Admin API的轻量封装库,支持.NET Standard 2.0+,维护活跃,API设计贴近Keycloak原生Admin接口,能直接实现Realm的创建、修改等配置操作。

  • 安装NuGet包:
    Install-Package KeycloakAdmin.NET
    
  • 示例代码(对应你提供的Java实现):
    using KeycloakAdmin.NET;
    using KeycloakAdmin.NET.Client.Realm;
    
    // 初始化客户端
    var client = new KeycloakAdminClient(new KeycloakAdminClientOptions
    {
        BaseUrl = "https://your-keycloak-instance/auth",
        Realm = "master", // 使用管理员权限的Realm
        ClientId = "admin-cli",
        ClientSecret = "your-admin-client-secret"
    });
    
    // 构造Realm配置
    var realmRequest = new RealmCreateRequest
    {
        Realm = "MyRealm",
        Enabled = true
        // 可添加更多配置项,如Displayname、RegistrationAllowed等
    };
    
    // 创建Realm
    await client.Realms.CreateRealmAsync(realmRequest);
    

2. Keycloak.Net

这个库曾有段时间停更,目前已由社区接手维护,同样完整封装了Keycloak Admin API,支持多种.NET版本,适用于批量管理Realm、用户、角色等场景。

  • 安装NuGet包:
    Install-Package Keycloak.Net
    
  • 示例代码:
    using Keycloak.Net;
    
    // 初始化客户端并登录
    var keycloakClient = new KeycloakClient("https://your-keycloak-instance/auth");
    await keycloakClient.LoginAsync(
        realm: "master",
        clientId: "admin-cli",
        clientSecret: "your-admin-client-secret"
    );
    
    // 构造Realm对象
    var realm = new Realm
    {
        Realm = "MyRealm",
        Enabled = true
    };
    
    // 创建Realm
    await keycloakClient.CreateRealmAsync(realm);
    

如果上述库的API无法完全匹配你的定制需求,也可以基于它们的基础封装进行扩展,或者结合HttpClient直接调用Keycloak Admin API,但专用库能大幅减少重复代码,提升开发效率。

内容的提问来源于stack exchange,提问作者roderknight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 06:35:02