11.4. 使用客户端注册 CLI
流程
- 使用您的凭证登录来启动一个经过身份验证的会话。
在
客户端注册 REST 端点上运行命令。例如,在:
Linux:
$ kcreg.sh config credentials --server http://localhost:8080 --realm demo --user user --client reg-cli $ kcreg.sh create -s clientId=my_client -s 'redirectUris=["http://localhost:8980/myapp/*"]' $ kcreg.sh get my_clientWindows:
c:\> kcreg config credentials --server http://localhost:8080 --realm demo --user user --client reg-cli c:\> kcreg create -s clientId=my_client -s "redirectUris=[\"http://localhost:8980/myapp/*\"]" c:\> kcreg get my_client注意在生产环境中,必须使用
https:访问红帽构建的 Keycloak:以避免向网络嗅探器公开令牌。
如果服务器证书不是由 Java 默认证书信任存储中包含的可信证书颁发机构(CA)发布的,准备
truststore.jks文件,并指示客户端注册 CLI 使用它。例如,在:
Linux:
$ kcreg.sh config truststore --trustpass $PASSWORD ~/.keycloak/truststore.jksWindows:
c:\> kcreg config truststore --trustpass %PASSWORD% %HOMEPATH%\.keycloak\truststore.jks
11.4.1. 登录 复制链接链接已复制到粘贴板!
流程
- 当您使用客户端注册 CLI 登录时,指定服务器端点 URL 和域。
-
指定用户名或客户端 id,这会导致使用特殊服务帐户。在使用用户名时,您必须为指定用户使用密码。使用客户端 ID 时,请使用客户端 secret 或
Signed JWT而不是密码。
无论登录方法如何,登录的帐户都需要适当的权限才能执行客户端注册操作。请记住,非 master 域中的任何帐户都只能有管理同一域中的客户端的权限。如果需要管理不同的域,您可以在不同的域中配置多个用户,或者在 master 域中创建单个用户,并添加用于管理不同域中客户端的角色。
您不能使用客户端注册 CLI 配置用户。使用 Admin Console Web 界面或 Admin Client CLI 来配置用户。如需了解更多详细信息,请参阅 服务器管理指南。
当 kcreg 成功登录时,它会接收授权令牌并将其保存在私有配置文件中,以便令牌可用于后续调用。有关配置文件的更多信息,请参阅 第 11.4.2 节 “使用其他配置”。
有关使用客户端注册 CLI 的更多信息,请参阅内置帮助。
例如,在:
- Linux:
$ kcreg.sh help
- Windows:
c:\> kcreg help
有关启动经过身份验证的会话的更多信息,请参阅 kcreg config credentials --help。