Keycloak 如何添加自定义标识提供程序(OIDC)映射器

Keycloak 如何添加自定义标识提供程序(OIDC)映射器,keycloak,Keycloak,我编写了自己的自定义令牌映射器,将每个组分配给用户的所有角色映射到访问令牌,作为单个声明,该声明是从组名到角色列表的映射(对象) 然而,我似乎无法部署它。这是我的自定义映射器: public class HierarchicalAttributesMapper extends AbstractOIDCProtocolMapper implements OIDCAccessTokenMapper, OIDCIDTokenMapper, UserInfoTokenMapper {...}

我编写了自己的自定义令牌映射器,将每个组分配给用户的所有角色映射到访问令牌,作为单个声明,该声明是从组名到角色列表的映射(对象)

然而,我似乎无法部署它。这是我的自定义映射器:

public class HierarchicalAttributesMapper extends AbstractOIDCProtocolMapper 
    implements OIDCAccessTokenMapper, OIDCIDTokenMapper, UserInfoTokenMapper {...}
它基于GroupMembershipMapper。我在编译的jar的顶层添加了以下文件:

META-INF/services/org.keycloak.broker.provider.IdentityProviderMapper
使用我的HierarchicalAttributesMapper的FQN。在运行my docker container for Keyclope时,挂载到/opt/jboss/standalone/deployments文件夹会被识别,但随后会抛出以下警告:

[org.jboss.modules] (ServerService Thread Pool -- 58) Failed to define class 
technology.idlab.cot.keycloak.oidc.HierarchicalAttributesMapper in Module 
"deployment.keycloak-oidc-hierarchical-attributes-mapper-1.0-SNAPSHOT.jar" 
from Service Module Loader: java.lang.NoClassDefFoundError: Failed to link 
technology/idlab/cot/keycloak/oidc/HierarchicalAttributesMapper (Module 
"deployment.keycloak-oidc-hierarchical-attributes-mapper-1.0-SNAPSHOT.jar" 
from Service Module Loader): 
    org/keycloak/protocol/oidc/mappers/OIDCAccessTokenMapper

(stack-trace omitted)

有人知道我如何才能让它工作吗?

你找到答案了吗?是的,缺少的链接是描述KeyClope所需依赖项的
jboss deployment structure.xml
文件。您向jboss部署结构.xml添加了什么?我添加了
和更多内容-但仍然不起作用…这个问题真的很老了,但我设法挖掘了文件内容以及我当时拥有的模块。然而,我再也不知道这一切意味着什么: