11.5. 创建客户端自定义资源
您可以使用 Operator 在 Red Hat Single Sign-On 中创建由自定义资源定义的客户端。您可以在 YAML 文件中定义域的属性。
注意
您可以更新 YAML 文件和更改出现在 Red Hat Single Sign-On admin 控制台中,但 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
先决条件
- 对此自定义资源有一个 YAML 文件。
- 您有 cluster-admin 权限或管理员授予了同等权限的权限级别。
流程
在您创建的 YAML 文件中使用此命令:
oc create -f <client-name>.yaml.例如:$ oc create -f initial_client.yaml keycloak.keycloak.org/example-client created- 登录红帽单点登录相关实例的红帽单点登录管理控制台。
点 Clients。
新客户端会出现在客户端列表中。
结果
创建客户端后,Operator 会创建一个包含 Client ID 和客户端 secret 的 Secret,其命名模式: keycloak-client-secret-<custom 资源名称>。例如:
客户端的 Secret
apiVersion: v1
data:
CLIENT_ID: <base64 encoded Client ID>
CLIENT_SECRET: <base64 encoded Client Secret>
kind: Secret
Operator 处理自定义资源后,使用以下命令查看状态:
$ oc describe keycloak <CR-name>
客户端自定义资源状态
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>
其他资源
- 客户端创建完成后,您已准备好 创建用户自定义资源。