小编ksa*_*jad的帖子

通过keycloak管理客户端在keycloak中创建用户返回IllegalArgumentException

我想通过keycloak管理客户端创建一个用户,但我得到:

java.lang.IllegalArgumentException:RESTEASY003720:参数映射未提供路径参数域

这是我的keycloak的bean:

@Bean
Keycloak keycloak() {
return KeycloakBuilder
    .builder()
    .serverUrl(localhost:9080/auth)
    .realm(REALM)
    .clientId(CLIENT_ID)
    .username(USERNAME)
    .password(PASSWORD)
    .resteasyClient(new ResteasyClientBuilder().connectionPoolSize(10).build())
    .build();
}
Run Code Online (Sandbox Code Playgroud)

我使用此代码调用keycloak:

CredentialRepresentation credentialRepresentation = new 
CredentialRepresentation();
credentialRepresentation.setType(CredentialRepresentation.PASSWORD);
credentialRepresentation.setValue(password);
UserRepresentation userRepresentation = new UserRepresentation();
userRepresentation.setUsername(username);
userRepresentation.setFirstName(firstName);
userRepresentation.setLastName(lastName);
userRepresentation.setEnabled(true);
userRepresentation.setCredentials(
    Arrays.asList(credentialRepresentation));
keycloak.realm(REALM).users().create(userRepresentation);
Run Code Online (Sandbox Code Playgroud)

keycloak和keycloak管理客户端都是相同的版本(4.0.0.Final)

我的stacktrace看起来像这样:

java.lang.IllegalArgumentException异常:RESTEASY003720:路径PARAM领域尚未在org.jboss.resteasy.specimpl.ResteasyUriBuilder.buildString在org.jboss.resteasy.specimpl.ResteasyUriBuilder.replaceParameter(ResteasyUriBuilder.java:659)提供了由参数映射(ResteasyUriBuilder.java:581)在org.jboss.resteasy.specimpl.ResteasyUriBuilder.buildFromValues(ResteasyUriBuilder.java:780)在org.jboss.resteasy.specimpl.ResteasyUriBuilder.build(ResteasyUriBuilder.java:772)在org.jboss. resteasy.client.jaxrs.internal.ClientWebTarget.getUri(ClientWebTarget.java:108)在org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.createRequest(ClientInvoker.java:124)在org.jboss.resteasy.客户端.jaxrs.internal.proxy.ClientInvoker.invoke(ClientInvoker.java:104)位于com.sun.proxy的org.jboss.resteasy.client.jaxrs.internal.proxy.ClientProxy.invoke(ClientProxy.java:76). org.keycloak.admin.client.token.TokenManager.grantToken(TokenManager.java:89)atg的$ Proxy240.grantToken(未知来源)org.mycompany.usermanagement.service.KeycloakService.createUserInSSO中的.keycloak.admin.client.token.TokenManager.getAccessToken(TokenManager.java:69)(KeycloakService.java:45)

这是我的build.gradle

compile group: 'org.keycloak', name: 'keycloak-admin-client', version: '4.0.0.Final'
compile group: 'org.jboss.resteasy', name: 'resteasy-jaxrs', version: '3.1.4.Final'
compile group: 'org.jboss.resteasy', name: 'resteasy-client', version: '3.1.4.Final'
compile group: 'org.jboss.resteasy', name: 'resteasy-jackson2-provider', version: '3.1.4.Final'
Run Code Online (Sandbox Code Playgroud)

java resteasy spring-boot keycloak

8
推荐指数
1
解决办法
1343
查看次数

通过 snap 安装 lxd 的权限被拒绝

我正在尝试通过本教程在我的 Ubuntu 上安装 LXD https://docs.conjure-up.io/devel/en/user-manual#users-of-lxd其中说我必须遵循以下步骤:

  1. sudo snap install lxd(安装没问题)
  2. /snap/bin/lxd init(我收到以下错误)

错误:无法连接到本地 LXD:获取http://unix.socket/1.0:拨打 unix /var/snap/lxd/common/lxd/unix.socket:连接:权限被拒绝

谁能告诉我如何解决它?

lxd

6
推荐指数
1
解决办法
2116
查看次数

将ramda转换为普通js

我在ramda中有一个遗留代码,我很难弄清楚它的作用。如何将ramda函数转换为简单的javascript?我的职能如下:

R.forEach(
      R.compose(
        vm.importAll,
        b =>
          R.compose(
            R.map(R.merge(R.pick(["index"])(b))),
            R.prop("transactions")
          )(b)
      )
    )
Run Code Online (Sandbox Code Playgroud)

javascript functional-programming ramda.js

0
推荐指数
1
解决办法
122
查看次数