2017-10-05 289 views
0

我有一个开放标识提供程序,我使用此提供程序作为keycloak的标识代理。我想映射从代理发送到keycloak的角色(声明)(keycloak将在其jwt中发送映射的角色)。我想知道如何实现和添加自定义映射到keycloak(如keycode中的hardcodedmapper,attributemapper)。我可以这样做吗?谢谢Keycloak创建自定义标识提供商映射程序

+0

可能重复[Keycloak自定义OpenID Connect身份提供程序映射器](https://stackoverflow.com/questions/46584325/keycloak-custom-openid-connect-identity-provider-mapper) –

+0

请不要发布问题两次。你可以编辑你的问题或其他什么,如果你发现需要很长的时间才能得到答案,请向keycloak用户maillist询问。 –

+0

有任何解决方案或建议吗? – Batuhan

回答

1

创建您的新provider类,我扩展了现有的org.keycloak.broker.saml.mappers.AttributeToRoleMapper类。

建立你的jar时,确保你有一个名为services的文件夹,META-INF文件夹。

在此文件夹中创建一个名为org.keycloak.broker.provider.IdentityProviderMapper的简单文本文件,在该文件中添加新提供者类的全名,即package.Classname

编译后,将文件放在Keycloak根文件夹下的提供程序文件夹中。重新启动你的容器。

+0

你好,谢谢你的回答。是否有示例代码块或示例提供程序类(和或项目)。首先,我将创建一个Java库,我将扩展“org.keycloak.broker.saml.mappers.AttributeToRoleMapper”类,然后我将构建它并将其放到keycloak_root/provider。我对吗?我不太清楚,请解释一下这句话“在构建你的jar文件时,确保你有一个名为services的文件夹,META-INF文件夹。” – Batuhan