我正在尝试在我的密钥斗篷中创建一个新的oidc-usermodel-realm-mapper 3.4.3实例但是当我运行它时,我收到一个HTTP错误-500 Internal 服务器错误。
我知道kcadm正在运行,因为我可以获取客户端并运行其他命令 例如创建其他映射器。密钥斗篷中可能有错误 运行此特定命令?
/opt/jboss/keycloak/bin/kcadm.sh create \
clients/428c2e48-77d0-43b7-aae4-0cc989ca4ee7/protocol-mappers/models \
-r demorealm \
-s protocol=openid-connect \
-s protocolMapper=oidc-usermodel-realm-mapper \
-s consentRequired=false \
-s config.claim.name=group_membership \
-s config.jsonType.label=String \
-s config.id.token.claim=true \
-s config.access.token.claim=true \
-s config.userinfo.token.claim=true \
-s config.multivalued=true \
-s name=Realm \
--server <url/auth> \
--user <user> \
--password <password>
server.log中的错误是;
2018-07-27 15:14:19,935错误
[org.keycloak.services.error.KeycloakErrorHandler](默认任务109)
未捕获的服务器错误:
com.fasterxml.jackson.databind.JsonMappingException:无法
在[来源:io.undertow.servlet.spec.ServletInputStreamImpl@55dee6f8;
行:1,列:119](通过参考链:
org.keycloak.representations.idm.ProtocolMapperRepresentation [“ co
在
com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:270)
com.fasterxml.jackson.databind.DeserializationContext.reportMappingException(DeserializationContext.java:1234)
在com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1122)
在com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1075)
在com.fasterxml.jackson.databind.deser.std.StringDeserializer.deserialize(StringDeserializer.java:60)
对此表示感谢。
答案 0 :(得分:0)
来自Add protocol-mapper to keycloak using kcadm.sh
的解决方案您需要在Linux中像这样指定嵌套的配置值:
-s 'config."claim.name"=group_membership'
-s 'config."jsonType.label"=String'