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添加了什么?我添加了
和更多内容-但仍然不起作用…这个问题真的很老了,但我设法挖掘了文件内容以及我当时拥有的模块。然而,我再也不知道这一切意味着什么:
,
,
,
。