Rid*_*del 3 plugins openid-connect keycloak
我正在为 Keycloa 编写一个自定义身份提供程序,我想使用deployer方法部署它(因为我想在Docker 容器中部署它)。按照我在网上找到的一个例子,我创建了一个 maven 项目,其中使用 maven-assembly-plugin,我构建了一个带有依赖项的 jar(但我已经过滤掉了我的依赖项提供的各种服务实现,我只保留身份提供者服务)。
事情似乎部分正常工作:
keycloak_1 | 09:23:20,056 INFO [org.jboss.as.server] (ServerService Thread Pool -- 29) WFLYSRV0010: Deployed "mycompnay-oidc-id-provider-0.0.1-SNAPSHOT-jar-with-dependencies.jar" (runtime-name :
"mycompany-oidc-id-provider-0.0.1-SNAPSHOT-jar-with-dependencies.jar")但是当我尝试配置它时,一切都失败了:
问题是 Keycloak 严格不输出日志(即使我将日志级别配置为最大值)。
在我的项目中,我让他遵循代码组织(在 jar-with-dependencies 中复制)
+---src
+---build
| \---assembly
+---main
| +---java
| | \---com
| | \---mycompany
| | \---mygroup
| | \---security
| | \---oidc
| \---resources
| +---META-INF
| | \---services
| \---themes
| \---base
| \---admin
| \---resources
| \---partials
\---test
+---java
\---resources
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
也许你现在已经想通了。
它没有很好的记录......我一个月前做过类似的事情,我遇到了同样的问题。我已经通过戳和猜测弄清楚了很多,所以这可能不是最好的方法,但我会说我对此的了解:
您需要正确注册 idp 和部分页面。老实说,我不知道您是否可以以这种方式扩展基本的 keycloak 管理主题。我试过了,但失败得可怕。所以我创建了自己的主题来扩展基础主题:
假设您的 idp 被称为 foo
src/main/resources/theme/foo/admin/theme.properties
parent=keycloak
import=common/keycloak
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
(我使用 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 页面应该可以工作,或者至少您应该能够从这里获取它。
我知道这不是完美的答案,但它可能会给你一些需要考虑的提示。
如果您取得进展或找到更好的方法,请分享!
| 归档时间: |
|
| 查看次数: |
875 次 |
| 最近记录: |