keycloak中的“参数client_assertion_type丢失”

Jet*_*Jet 5 java wildfly keycloak superuser

我正在尝试从超级用户那里获取访​​问令牌,以便我可以在 key cloak 中创建新用户,我已经在 wildfly 中部署了 keycloak,当我尝试执行 get 调用时,我得到Invalid user credentials了响应,如何知道实际凭据吗? 在此处输入图片说明

当我尝试从控制台更新密码时,我收到如下错误消息。

在此处输入图片说明

由于我是新手并且也没有从互联网上找到足够的信息,任何形式的帮助将不胜感激。

更新:

现在我得到新的错误描述,Parameter client_assertion_type is missing如下所示。这里应该有什么client_assertion_type

在此处输入图片说明

THe*_*per 6

此 keycloak 帮助页面描述了第二个错误的最可能原因:

问:登录时出现错误:*Parameter client_assertion_type is missing [invalid_client]。

答:此错误表示您的客户端配置了已签名的 JWT 令牌凭据,这意味着您必须在登录时使用 --keystore 参数。

或者,您可以在 Keycloak 中为客户端禁用 JWT 令牌。

  • 你好。你在哪里使用--keystore (4认同)

sub*_*ych 1

首先,当您通过 REST 客户端将数据发布到 keycloak 时,您需要输入参数作为表单参数,而不是作为查询参数。这就是为什么当您显然提供参数 grant_type 时,您会收到这个奇怪的错误。通过代码访问 keycloak api 也是有效的。

接下来您需要考虑的是超级用户的角色。您可以分配领域角色和客户端角色。有一个名为“领域管理”的客户端,其中包含通常被视为“系统角色”的角色。您将需要使用它们。当您收到 HTTP 代码 403 时,这意味着您的用户可能缺少此客户端的角色。

  • @ subrob ......我已经添加了注册访问令牌,现在出现的问题是...... {“error_description”:“使用签名的 JWT 进行客户端身份验证失败:无法识别客户端。发行者缺失JWT 令牌”,“错误”:“unauthorized_client”} (2认同)