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