Plugins 如何使身份提供程序配置页在KeyClope中可见?

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]

我正在为Keycloa编写一个自定义标识提供程序,我想使用该方法部署它(因为我想在中部署它)。根据我在web上找到的一个示例,我创建了一个maven项目,在该项目中,我使用maven assembly插件构建了一个带有依赖项的jar(但我过滤掉了依赖项提供给我的各种服务实现,以便只保留identity provider服务)

事情似乎在一定程度上是正确的:

  • 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面板时,新的提供者可见(请参见屏幕截图)

但当我尝试配置它时,一切都失败了:

问题是keydape严格不输出日志(即使我将日志级别配置为max)

在我的项目中,我有以下代码组织(通过依赖关系在jar中复制)


我错过了什么?

也许你现在已经明白了

没有很好的记录。。。一个月前我也做过类似的事情,我面临着同样的问题。我基本上是通过戳和猜来弄明白的,所以这可能不是最好的方法,但我会说我所知道的:

您需要正确注册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>