首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keycloak CLI:创建身份提供程序Mapper

Keycloak CLI:创建身份提供程序Mapper
EN

Stack Overflow用户
提问于 2021-02-05 15:12:28
回答 1查看 890关注 0票数 2

我正在尝试使用keycloak CLI创建一个IDP提供程序映射器,类似于下面的

文档中的示例都用于存储映射器。

我试过了

代码语言:javascript
复制
kcadm.sh create components -r my-realm -s name=my-mapper-name -s providerId=oidc-hardcoded-role-idp-mapper -s providerType=org.keycloak.broker.provider.IdentityProviderMapper -s parentId=<parent id> -s 'config.role=["ROLE_MY_ROLE"]'

但是这个错误失败了。

代码语言:javascript
复制
14:45:26,325 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (default task-7) Uncaught server error: java.lang.ClassCastException: class org.keycloak.broker.provider.HardcodedRoleMapper cannot be cast to class org.keycloak.component.ComponentFactory (org.keycloak.broker.provider.HardcodedRoleMapper is in unnamed module of loader 'org.keycloak.keycloak-services@9.0.0' @1dd6d570; org.keycloak.component.ComponentFactory is in unnamed module of loader 'org.keycloak.keycloak-server-spi@9.0.0' @8467851)

因为与HardcodedLDAPRoleStorageMapperFactory不同,它没有扩展ComponentFactory

用钥匙斗篷CLI可以做到这一点吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-05 16:21:32

你必须按以下方式打电话:

代码语言:javascript
复制
./kcadm.sh create identity-provider/instances/<IDP_name>/mappers \ 
          -r <REALM_NAME> \
          -s name=<MAPPER_NAME> \
          -s identityProviderAlias=<IDP_ALIAS> \ 
          -s identityProviderMapper=oidc-hardcoded-role-idp-mapper \
          -s config.role=<ROLE_NAME>

为便于复制和粘贴:

代码语言:javascript
复制
./kcadm.sh create identity-provider/instances/<IDP_name>/mappers  -r <REALM_NAME> -s name=<MAPPER_NAME> -s identityProviderAlias=<IDP_ALIAS> -s identityProviderMapper=oidc-hardcoded-role-idp-mapper -s config.role=<ROLE_NAME>

字段identityProviderMapperMapper Type,在您的例子中,它将是oidc-hardcoded-role-idp-mapper

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66065755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档