问题标签 [keycloak-admin-cli]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
862 浏览

php - 使用 add-user-keycloak.sh 添加新用户时如何验证用户的电子邮件?

我们目前通过以下方式添加默认 Keycloak 用户:

/opt/jboss/keycloak/bin/add-user-keycloak.sh -r realm-name -u admin@test.com -p admin

但是,当我尝试生成这样的不记名令牌时:

我收到以下错误响应:

{"error":"invalid_grant","error_description":"Account is not fully set up"}

通过搜索我发现这是由于未验证用户电子邮件。

有什么方法可以验证用户,也许是通过传递emailVerified参数add-user-keycloak.sh或类似的东西?

0 投票
1 回答
386 浏览

keycloak - 无法从 json 文件创建复合角色

这是带有角色描述的 JSON:

即使它是在 Keycloak 中创建的,但当我运行时kcadm.sh get roles/<role-name>,它会说,它不是复合材料。再深入一点,我在 Keycloak 日志中发现了以下错误:

所以我想,问题存在于“复合材料”领域的某个地方。我展示的文件是通过导出获得的,所以它必须是有效的

UPD我用来创建角色的命令是kcadm.sh create roles -s name=<role-name> -r <realm-name> -f role.json

0 投票
1 回答
1437 浏览

keycloak - Keycloak Admin CLI - 使用 JSON 文件更新领域

目标:
我们的目标是更新整个领域提供的 json 文件。

问题:
目前的问题是我们似乎无法完全更新领域以包括客户端更改。

采取的措施:
选项 1:根据Keycloak Admin CLI 文档,可以使用以下命令从 JSON 文件更新 Keycloak 领域:

kcadm.sh update realms/demorealm -f demorealm.json

但是,在对 JSON 文件部分(即客户端的描述)中的属性进行更新时clients,更改不会反映在 Keycloak 领域中。

我们也试着看看kcadm.sh help update。我们尝试使用合并标志(将新值与服务器上的现有配置合并。除非--file指定,否则自动启用合并)。我们确实指定了一个文件,因此尝试使用该标志启用它 - 但没有成功。客户并没有像预期的那样发生变化。

选项 2:我们尝试了Keycloak 文档中的部分导入命令

$ kcadm.sh create partialImport -r demorealm -s ifResourceExists=OVERWRITE-o -f demorealm.json

ifResourceExists设置为,OVERWRITE它可以准确地更改客户端。但是,它会更改其他 Realm 配置,例如分配的用户角色。例如:通过 Keycloak UI 手动创建新用户并为用户设置角色后,在OVERWRITE设置了标志的情况下运行命令后角色会丢失。将 设置ifResourceExistsSKIP不会正确更新客户端的值,因为它会被完全跳过。

问题: 是否可以使用不同的命令或不同的标志,使用单个 Keycloak 管理命令更新整个 Keycloak 领域?上面列出的选项 1 或选项 2 都不适合我们。我们希望update client在更新 Realm 时避免单独调用。

注意:
我们已正确验证并确认在领域级别所做的更改已反映在 Keycloak 中。

0 投票
1 回答
330 浏览

spring-boot - java.lang.NoSuchMethodError: javax.ws.rs.core.UriBuilder.resolveTemplates(Ljava/util/Map;)Ljavax/ws/rs/core/UriBuilder

我正在尝试使用spring boot keycloak客户端和admin进入包含spring cloud的微服务,当我想从keycloak admin api创建用户时出现此错误感谢您的支持

错误 :

/* 资源 */

Maven树:

  • Keycloak 服务器正在运行
  • 用户和密码被检查
  • maven构建成功
  • Api 正在运行
  • 创建用户api是KO
0 投票
1 回答
501 浏览

spring - 使用 keycloak 创建用户

我正在尝试在 spring boot 项目中使用 keycloak 的 /users 端点创建用户。这些是我遵循的步骤首先在主领域和 admin-cli 客户端中创建了一个管理员。用它来获取 keycloak 的实例以进行进一步的操作。

如果我不在用户中添加客户端表示,我可以创建用户。如果我在 userRepresentation 对象中添加 CredentialRepresentation,我会收到 BadRequest 错误(400 代码),没有任何详细信息。我查看了也没有用的 keycloak 服务器日志。作为尝试,我先创建用户并稍后重置密码,然后还创建了用户,但无法使用重置密码端点设置密码(同样的错误)。如文档中所述,我已将 userRepresentation 的启用属性设置为真的。Keycloak 版本:12.0.4,Spring Boot 版本:2.1.6.RELEASE 我试图从收到的响应中读取实体,但也失败了。任何解决问题的帮助将不胜感激。// 用户创建代码

CredentialRepresentation 代码:

0 投票
0 回答
103 浏览

keycloak - 如何在keyclaok中将子组添加到现有组:找不到404

使用keyclaok rest api我已经很容易地创建了一个组,现在我想向它添加一个子组,因为文档说rest api缺少在一些研究后将子组添加到现有组中我找到了这个答案

这是我的代码

这是我得到的例外

例外是在这条线上

注意:keycloak 中已经存在父组

0 投票
0 回答
170 浏览

spring-boot - Keycloak 管理员 cli 超时

我正在使用 Keycloak-admin-client 并希望通过按 id 搜索用户来获取用户信息。

使用上面的代码,我总是得到最后一行的超时。toRepresentation()调用(所以我猜测实际的 Api 调用)会产生超时。

我认为两个重要的进口是:

0 投票
0 回答
294 浏览

java - 在单个 keycloak 管理客户端应用程序中管理多个领域

我有一个具有多个领域(租户)的 keycloak 服务器。我正在创建一个后端 spring-boot 应用程序来使用 keycloak-admin-client 管理用户及其角色(如添加/删除/编辑用户、角色等)。有人可以建议我如何在一个应用程序中管理多个领域/租户。

0 投票
0 回答
26 浏览

keycloak - 使用 keycloak 的 admin-cli 进行部分导出时,如何包含客户端和角色/组?(单次调用,如 UI)

我正在尝试使用 partial-export admin-cli 命令导出领域,但尽管在正文中为这两个选项都设置了 true,但客户端、角色和组都被排除在请求之外。

到目前为止我已经尝试过:

在这两种情况下,它的输出就像客户端和角色/组切换被禁用一样。(导出中缺少角色、组和客户端)

0 投票
1 回答
166 浏览

keycloak - 不推荐使用的方法 org.keycloak.TokenVerifier.realmUrl() 的替代方法是什么

我正在尝试使用以下代码验证 AccessToken -

TokenVerifier 验证器 = TokenVerifier.create(StringAccessToken, AccessToken.class).withDefaultChecks(); PublicKey publicKey = getRealmPublicKey(verifier.getHeader()); return verifier.realmUrl(“someStringUrl”).publicKey(publicKey).verify().getToken();

但似乎不推荐使用 realmUrl() 方法。您能否为此提供替代解决方案?

或者你能建议一种有效的方法来验证访问令牌吗?