我想通过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) 我正在尝试通过本教程在我的 Ubuntu 上安装 LXD https://docs.conjure-up.io/devel/en/user-manual#users-of-lxd其中说我必须遵循以下步骤:
sudo snap install lxd(安装没问题)/snap/bin/lxd init(我收到以下错误)错误:无法连接到本地 LXD:获取http://unix.socket/1.0:拨打 unix /var/snap/lxd/common/lxd/unix.socket:连接:权限被拒绝
谁能告诉我如何解决它?
我在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)