kcadm添加一个新的协议映射器

时间:2018-07-30 09:10:17

标签: keycloak

我正在尝试在我的密钥斗篷中创建一个新的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)

对此表示感谢。

1 个答案:

答案 0 :(得分:0)

来自Add protocol-mapper to keycloak using kcadm.sh

的解决方案

您需要在Linux中像这样指定嵌套的配置值:

-s 'config."claim.name"=group_membership'
-s 'config."jsonType.label"=String'