来自Add protocol-mapper to keycloak using kcadm.sh
有人知道吗?我按照奥斯卡(Oscar)的建议进行了尝试,但仍然无法正常工作。 未注释的行效果很好。
被注释的行不起作用。我收到一条错误消息,指出“ ./clientmapper.sh:59(或我未注释的任何行号):-s:找不到”
sudo docker exec $keycontainer /opt/jboss/keycloak/bin/kcadm.sh create \
clients/$cid/protocol-mappers/models \
-r myrealm \
-s name=roles \
-s protocol=openid-connect \
-s protocolMapper=oidc-usermodel-attribute-mapper
#-s 'config."id.token.claim"=true' \
#-s claim.name=roles \
#-s jsonType.label=String \
#-s multivalued=true \
#-s userinfo.token.claim=true \
#-s access.token.claim=true
答案 0 :(得分:2)
我通过按照Oscar建议的格式进行格式化并在docker exec命令后使用-i来完成这项工作。现在,它可以完美运行。
sudo docker exec -i $keycontainer /opt/jboss/keycloak/bin/kcadm.sh create \
clients/$cid/protocol-mappers/models \
-r testrealm \
-s name=testmap \
-s protocol=openid-connect \
-s protocolMapper=oidc-usermodel-realm-role-mapper \
-s 'config."id.token.claim"=true' \
-s 'config."claim.name"=testmap' \
-s 'config."jsonType.label"=String' \
-s 'config."multivalued"=true' \
-s 'config."userinfo.token.claim"=true' \
-s 'config."access.token.claim"=true'