18.4. 身份验证


使用 Admin CLI 登录时,您可以指定:

  • 服务器端点 URL
  • 一个 realm
  • 用户名

另一个选项是仅指定 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

此机制通过保存获取的访问令牌及其关联的刷新令牌,在 kcadm 命令调用之间维护经过身份验证的会话。它可以在私有配置文件中维护其他 secret。如需更多信息,请参见 下一章

第二种机制验证调用期间每个命令调用。这种机制会增加服务器上的负载,以及获取令牌的往返时间。这种方法的好处是不需要在调用之间保存令牌,因此不会保存到磁盘。当指定-- no-config 参数时,Red Hat build of Keycloak 会使用这个模式。

例如,在执行操作时,指定身份验证所需的所有信息。

$ kcadm.sh get realms --no-config --server http://localhost:8080 --realm master --user admin

运行 kcadm.sh help 命令以了解有关使用 Admin CLI 的更多信息。

运行 kcadm.sh config credentials --help 命令来了解有关启动经过身份验证的会话的更多信息。

如果您没有指定 --password 选项(通常建议不提供密码作为命令的一部分),系统会提示您输入密码,除非将密码指定为环境变量 KC_CLI_PASSWORD。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.