11.4. 创建客户端自定义资源


您可以使用 Operator 在 Red Hat Single Sign-On 中创建由自定义资源定义的客户端。您可以在 YAML 文件中定义域的属性。

注意

您可以更新 YAML 文件并出现在 Red Hat Single Sign-On admin 控制台中,但对管理控制台的更改不会更新自定义资源。

客户端自定义资源的 YAML 文件示例

apiVersion: keycloak.org/v1alpha1
kind: KeycloakClient
metadata:
  name: example-client
  labels:
    app: sso
spec:
  realmSelector:
     matchLabels:
      app: <matching labels for KeycloakRealm custom resource>
  client:
    # auto-generated if not supplied
    #id: 123
    clientId: client-secret
    secret: client-secret
    # ...
    # other properties of Keycloak Client
Copy to Clipboard Toggle word wrap

先决条件

  • 您有一个用于此自定义资源的 YAML 文件。
  • 有 cluster-admin 权限或管理员授予的等效权限级别。

流程

  1. 在您创建的 YAML 文件中使用以下命令: oc create -f <client-name>.yaml。例如:

    $ oc create -f initial_client.yaml
    keycloak.keycloak.org/example-client created
    Copy to Clipboard Toggle word wrap
  2. 登录到 Red Hat Single Sign-On 相关实例的 Red Hat Single Sign-On 管理控制台。
  3. 点 Clients。

    新客户端会出现在客户端列表中。

    clients

结果

创建客户端后,Operator 会使用以下命名模式创建一个包含 客户端 ID 和客户端的 secret 的 Secret: keycloak-client-secret-<custom resource name& gt;。例如:

客户端的 Secret

apiVersion: v1
data:
  CLIENT_ID: <base64 encoded Client ID>
  CLIENT_SECRET: <base64 encoded Client Secret>
kind: Secret
Copy to Clipboard Toggle word wrap

Operator 处理自定义资源后,使用以下命令查看状态:

$ oc describe keycloak <CR-name>
Copy to Clipboard Toggle word wrap

客户端自定义资源状态

Name:         client-secret
Namespace:    keycloak
Labels:       app=sso
API Version:  keycloak.org/v1alpha1
Kind:         KeycloakClient
Spec:
  Client:
    Client Authenticator Type:     client-secret
    Client Id:                     client-secret
    Id:                            keycloak-client-secret
  Realm Selector:
    Match Labels:
      App:  sso
Status:
  Message:
  Phase:    reconciling
  Ready:    true
  Secondary Resources:
    Secret:
      keycloak-client-secret-client-secret
Events:  <none>
Copy to Clipboard Toggle word wrap

其他资源

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat