搜索

5.8. 客户端注册策略

download PDF
注意

当前计划用于删除客户端注册策略,取代 服务器管理指南 中描述的客户端策略。客户端策略更灵活,支持更多用例。

红帽构建的 Keycloak 目前支持通过客户端注册服务注册新客户端的方法。

  • 已验证请求 - 注册新客户端的请求必须包含上面提到的 Initial Access TokenBearer Token
  • 匿名请求 - 请求注册新客户端不需要包含任何令牌

匿名客户端注册请求非常有趣且强大的功能,但您通常不希望任何人在没有任何限制的情况下注册新客户端。因此,我们有 客户端注册策略 SPI,它提供了一种限制谁可以注册新客户端以及条件下的方法。

在 Red Hat build of Keycloak 管理控制台中,您可以点 Client Registration 选项卡,然后点 Client Registration Policies 子选项卡。在这里,您将看到匿名请求默认配置了哪些策略,以及为经过身份验证的用户配置了哪些策略。

注意

允许使用匿名请求(不带任何令牌的请求)来创建(注册)新客户端。因此,当您通过匿名请求注册新客户端时,响应将包含注册访问令牌,该令牌必须用于特定客户端的 Read、Update 或 Delete 请求。但是,从匿名注册中使用此注册访问令牌也会受到匿名策略的影响!这意味着,对于更新客户端的示例请求,如果您有受信任的主机策略,则需要来自 受信任的主机 主机。例如,在更新客户端时以及存在 Consent Required 策略时,不允许禁用 Consent Required Required。

目前,我们有以下策略实现:

  • 可信主机策略 - 您可以配置可信主机和可信域的列表。对客户端注册服务的请求只能从那些主机或域发送。从某些不受信任的 IP 发送的请求将被拒绝。新注册的客户端的 URL 还必须仅使用那些可信主机或域。例如,不允许设置指向某些不可信主机的客户端的 重定向 URI。默认情况下,没有任何白名单的主机,因此匿名客户端注册被禁用。
  • consent Required Policy - 新注册的客户端将启用 Consent Allowed 交换机。因此,在身份验证成功后,当用户需要批准权限(客户端范围)时,用户总是看到同意的屏幕。这意味着,除非用户批准,否则客户端无法访问任何个人信息或用户的权限。
  • 协议映射程序策略 - 允许配置白名单协议映射程序实现的列表。如果新客户端包含一些非转换协议映射器,则无法注册或更新新客户端。请注意,此策略也用于经过身份验证的用户,因此即使经过身份验证的用户也有一些可以使用协议映射器的限制。
  • Client Scope Policy - 允许将 客户端范围 列入白名单,它们可用于新注册或更新的客户端。默认没有白名单范围;默认情况下,只有客户端范围定义为 Realm Default Client Scopes
  • 完整范围策略 - 新注册的客户端将禁用 完全范围允许 开关。这意味着它们没有范围的域角色或其他客户端的客户端角色。
  • 最大客户端策略 - 如果域中当前客户端数量与指定限制相同或大于指定限制,则拒绝注册。对于匿名注册,默认为 200。
  • 客户端禁用策略 - 将禁用新注册的客户端。这意味着管理员需要手动批准并启用所有新注册的客户端。即使匿名注册,默认不使用此策略。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.