gpt4 book ai didi

plugins - 如何在 Keycloak 中显示身份提供者配置页面?

转载 作者:行者123 更新时间:2023-12-04 02:56:50 30 4
gpt4 key购买 nike

我正在为 Keycloa 编写一个自定义身份提供程序,我想使用 deployer 部署它。方法(因为我想在 Docker containers 中部署它)。关注 example我在网上发现,我创建了一个 maven 项目,其中使用 maven-assembly-plugin,我构建了一个带有依赖项的 jar(但我已经过滤掉了我的依赖项提供的各种服务实现,只保留身份提供者服务)。

事情似乎部分正常工作:

  • Keycloak 日志表明我的 ID 提供程序正在加载/加载: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")
  • 当我进入身份提供者面板时,新的提供者可见(见截图)

  • my id provider is loaded !

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

    I should have a configuration screen

    问题是 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

    我错过了什么?

    最佳答案

    也许你现在已经想通了。

    它没有很好的记录......我一个月前做过类似的事情,我遇到了同样的问题。我通过戳戳和猜测已经很清楚了,所以这可能不是最好的方法,但我会说我对此的了解:

    您需要正确注册 idp 和部分页面。
    老实说,我不知道您是否可以以这种方式扩展基本的 keycloak 管理主题。我试过了,但失败得可怕。所以我创建了自己的主题来扩展基础主题:

    假设您的 idp 被称为 foosrc/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>
    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>

    (我使用 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 页面应该可以正常工作,或者至少您应该能够从这里获取它。

    我知道这不是完美的答案,但它可能会给你一些需要考虑的提示。

    如果您取得进展或找到更好的方法,请分享!

    关于plugins - 如何在 Keycloak 中显示身份提供者配置页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52757115/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com