Plugins 如何使身份提供程序配置页在KeyClope中可见?
我正在为Keycloa编写一个自定义标识提供程序,我想使用该方法部署它(因为我想在中部署它)。根据我在web上找到的一个示例,我创建了一个maven项目,在该项目中,我使用maven assembly插件构建了一个带有依赖项的jar(但我过滤掉了依赖项提供给我的各种服务实现,以便只保留identity provider服务) 事情似乎在一定程度上是正确的:Plugins 如何使身份提供程序配置页在KeyClope中可见?,plugins,keycloak,openid-connect,Plugins,Keycloak,Openid Connect,我正在为Keycloa编写一个自定义标识提供程序,我想使用该方法部署它(因为我想在中部署它)。根据我在web上找到的一个示例,我创建了一个maven项目,在该项目中,我使用maven assembly插件构建了一个带有依赖项的jar(但我过滤掉了依赖项提供给我的各种服务实现,以便只保留identity provider服务) 事情似乎在一定程度上是正确的: keydove日志表示我的id提供者正在加载:keydove_1 | 09:23:20056信息[org.jboss.as.server]
- keydove日志表示我的id提供者正在加载:
keydove_1 | 09:23:20056信息[org.jboss.as.server](ServerService线程池--29)WFLYSRV0010:部署的“mycopnay-oidc-id-provider-0.0.1-SNAPSHOT-jar-with-dependencies.jar”(运行时名称: “mycompany-oidc-id-provider-0.0.1-SNAPSHOT-jar-with-dependencies.jar”)
- 当我进入Identity Providers面板时,新的提供者可见(请参见屏幕截图)
我错过了什么?也许你现在已经明白了 没有很好的记录。。。一个月前我也做过类似的事情,我面临着同样的问题。我基本上是通过戳和猜来弄明白的,所以这可能不是最好的方法,但我会说我所知道的: 您需要正确注册idp和部分页面。 老实说,我不知道你是否可以用那种方式扩展基本的keydepeat管理主题。我试过了,但失败得很惨。因此,我创建了自己的主题,扩展了基本主题: 假设您的idp被称为
foo
src/main/resources/theme/foo/admin/theme.properties
parent=keycloak
import=common/keycloak
src/main/resources/theme/foo/admin/resources/partials/realm identity provider foo.html
<div data-ng-include
data-src="resourceUrl + '/partials/realm-identity-provider-oidc.html'">
</div>
<div data-ng-include
data-src="resourceUrl + '/partials/realm-identity-provider-oidc.html'">
</div>
(我正在使用oidc,因为我的idp正在扩展它,但您可以在这里使用对您的案例有意义的任何东西)
src/main/resources/theme/foo/admin/resources/partials/realm-identity-provider-foo-ext.html
就我而言,最后一个文件是空的,但据我记忆所及,你必须拥有它
然后,在管理控制台上,您需要将管理主题更改为
foo
,并且您必须刷新浏览器,以便它开始从新主题中获取资源。需要注意的是,如果您与来自另一个领域的用户(例如来自主领域的管理员)一起登录,则必须更改主领域中的管理员主题,因为这是您现在实际使用的主题。
如果成功,您应该开始在开发工具中看到模板资源现在来自您的主题,例如auth/resources/4.4.0.final/admin/foo/templates/kc tabs realm.html
如果是这样的话,那么你的idp页面应该可以正常工作,或者至少你可以从这里找到它
我知道这不是一个完美的答案,但它可以给你一些需要考虑的事情。
如果你有进步或找到更好的方法,请分享 实际上,也可以通过删除丢失的文件来扩展标准主题。无论如何,谢谢你的回答!我非常感谢你为我节省了这么多时间。
<div data-ng-include
data-src="resourceUrl + '/partials/realm-identity-provider-oidc.html'">
</div>