如何在 Keycloak Operator (v13.0.0) 上使用自定义主题?

Posted

技术标签:

【中文标题】如何在 Keycloak Operator (v13.0.0) 上使用自定义主题?【英文标题】:How to use custom themes on Keycloak Operator (v13.0.0)? 【发布时间】:2021-08-07 19:38:05 【问题描述】:

我正在使用Operator(版本 13.0.0)安装 Keycloak。更新后的代码有主题相关的东西github repository 并且很好地支持自定义主题集成。我们只需要一个自定义theme 所在的URL。我试过了,效果很好。

但是,如果我们在某个本地目录而不是某个公共 URL 上拥有主题怎么办。那么我们如何在 Keycloak 中上传theme 呢?

我也尝试过使用文件 URL 和文件路径,但对我不起作用。

Keycloak.yaml

apiVersion: keycloak.org/v1alpha1
kind: Keycloak
metadata:
  name: keycloak-test
  labels:
    app: keycloak-test
spec:
  instances: 1
  extensions:
    - https://SOME-PUBLIC-URL/keycloak-themes.jar                    
  externalAccess:
    enabled: False
  podDisruptionBudget:
    enabled: True

【问题讨论】:

【参考方案1】:

您可以使用要在 Keycloak 中使用的自定义主题创建一个 .tar 文件(例如 custom_theme.tar),然后将卷安装到存储 Keycloak 主题的文件夹(ie, /opt/jboss/keycloak/themes/my_custom_theme),然后将带有自定义主题的 .tar 文件从本地文件夹复制到 Keycloak 容器中。

您可以找到此方法的完整示例here。

【讨论】:

【参考方案2】:

我们可以使用以下步骤在 keycloak operator (v13.0.0) 中添加自定义 keycloak 主题:

    使用此处显示的步骤为您的自定义主题创建一个 jar 文件 Deploying Keycloak Themes 使用以下命令创建 jar 的 kubernetes configmap
kubectl create cm customtheme --from-file customtheme.jar
    要使用上面的 configmap 更新 Keycloak.yaml 并添加以下代码块
  keycloakDeploymentSpec:
    experimental:
      volumes:
        defaultMode: 0777
        items:
          - name: customtheme
            mountPath: /opt/jboss/keycloak/standalone/deployments/custom-themes
            subPath: customtheme.jar
            configMaps:
              - customtheme

注意:确保主题大小小于 1MB。

【讨论】:

好吧,所以你最终采用了我提到的方法***.com/a/66994011/1366871

以上是关于如何在 Keycloak Operator (v13.0.0) 上使用自定义主题?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Kubernetes 上的 Keycloak Operator 部署上创建自定义主题?

“无法连接到数据库”:Keycloak Operator 外部数据库配置不起作用

在nginx入口控制器后启用tls时,keycloak停止工作。

operator-sdk demo 试一试

云原生动态周报|shell-operator v1.0.0 发布,Emissary-ingress 孵化

无法在 keycloak 和 Gatekeeper 之间进行通信