17.8. 客户端操作
创建客户端
在客户端端点上运行
create
命令以创建新客户端。例如:
$ kcadm.sh create clients -r demorealm -s clientId=myapp -s enabled=true
如果为适配器设置 secret 进行验证,请指定 secret。
例如:
$ kcadm.sh create clients -r demorealm -s clientId=myapp -s enabled=true -s clientAuthenticatorType=client-secret -s secret=d0b8122f-8dfb-46b7-b68a-f5cc4e25d000
列出客户端
在 clients
端点上使用 get
命令来列出客户端。
这个示例过滤输出以只列出 id
和 clientId
属性:
$ kcadm.sh get clients -r demorealm --fields id,clientId
获取特定客户端
使用客户端 ID 构建以特定客户端为目标的端点 URI,如 client /ID
。
例如:
$ kcadm.sh get clients/c7b8547f-e748-4333-95d0-410b76b3f4a3 -r demorealm
为特定客户端获取当前 secret
使用客户端 ID 构造端点 URI,如 clients/ID/client-secret
。
例如:
$ kcadm.sh get clients/$CID/client-secret -r demorealm
为特定客户端生成新 secret
使用客户端 ID 构造端点 URI,如 clients/ID/client-secret
。
例如:
$ kcadm.sh create clients/$CID/client-secret -r demorealm
为特定客户端更新当前 secret
使用客户端 ID 构造端点 URI,如客户端/ID
。
例如:
$ kcadm.sh update clients/$CID -s "secret=newSecret" -r demorealm
获取特定客户端的适配器配置文件(keycloak.json)
使用客户端 ID 构建以特定客户端为目标的端点 URI,如 clients/ID/installation/providers/keycloak-oidc-keycloak-json
。
例如:
$ kcadm.sh get clients/c7b8547f-e748-4333-95d0-410b76b3f4a3/installation/providers/keycloak-oidc-keycloak-json -r demorealm
为特定客户端获取 WildFly 子系统适配器配置
使用客户端 ID 构建以特定客户端为目标的端点 URI,如 clients/ID/installation/providers/keycloak-oidc-jboss-subsystem
。
例如:
$ kcadm.sh get clients/c7b8547f-e748-4333-95d0-410b76b3f4a3/installation/providers/keycloak-oidc-jboss-subsystem -r demorealm
获取特定客户端的 Docker-v2 示例配置
使用客户端 ID 构建以特定客户端为目标的端点 URI,如 clients/ID/installation/providers/docker-v2-compose-yaml
。
响应采用 .zip
格式。
例如:
$ kcadm.sh get http://localhost:8080/admin/realms/demorealm/clients/8f271c35-44e3-446f-8953-b0893810ebe7/installation/providers/docker-v2-compose-yaml -r demorealm > keycloak-docker-compose-yaml.zip
更新客户端
使用带有您用来获取特定客户端的同一端点 URI 的 update
命令。
例如:
linux:
$ kcadm.sh update clients/c7b8547f-e748-4333-95d0-410b76b3f4a3 -r demorealm -s enabled=false -s publicClient=true -s 'redirectUris=["http://localhost:8080/myapp/*"]' -s baseUrl=http://localhost:8080/myapp -s adminUrl=http://localhost:8080/myapp
Windows:
c:\> kcadm update clients/c7b8547f-e748-4333-95d0-410b76b3f4a3 -r demorealm -s enabled=false -s publicClient=true -s "redirectUris=[\"http://localhost:8080/myapp/*\"]" -s baseUrl=http://localhost:8080/myapp -s adminUrl=http://localhost:8080/myapp
删除客户端
使用 delete
命令和您用来获取特定客户端的同一端点 URI。
例如:
$ kcadm.sh delete clients/c7b8547f-e748-4333-95d0-410b76b3f4a3 -r demorealm
为客户端服务帐户添加或删除角色
客户端的服务帐户是具有用户名 service-account-CLIENT_ID
的用户帐户。您可以作为常规帐户对此帐户执行相同的用户操作。