17.3. 身份验证
使用 Admin CLI 登录时,您可以指定:
- 服务器端点 URL
- 一个域
- 用户名
另一个选项是仅指定 clientId,它会创建一个唯一服务帐户供您使用。
使用用户名登录时,对指定用户使用密码。当使用 clientId 登录时,您只需要客户端 secret,而不是用户密码。您还可以使用 Signed JWT
而不是客户端机密。
确保用于会话的帐户具有调用 Admin REST API 操作的适当权限。例如,realm-management
客户端的 realm-admin
角色可以管理用户的域。
有两种主要机制可用于身份验证。一个机制使用 kcadm 配置凭证
来启动经过身份验证的会话。
$ kcadm.sh config credentials --server http://localhost:8080 --realm master --user admin --password admin
此机制通过保存获取的访问令牌及其关联的刷新令牌在 kcadm
命令调用之间维护经过身份验证的会话。它可以在专用配置文件中维护其他机密。如需更多信息,请参阅 下一章节。
第二个机制会在调用期间验证每个命令调用。这种机制会增加服务器上的负载以及获取令牌的往返时间。这种方法的好处是不需要在调用之间保存令牌,因此不会将令牌保存到磁盘中。当指定 --no-config
参数时,Red Hat build of Keycloak 会使用这个模式。
例如,在执行操作时,请指定身份验证所需的所有信息。
$ kcadm.sh get realms --no-config --server http://localhost:8080 --realm master --user admin --password admin
运行 kcadm.sh help
命令,以了解有关使用管理 CLI 的更多信息。
运行 kcadm.sh 配置凭证 --help
命令,以了解有关启动经过身份验证的会话的更多信息。