5.8. 客户端注册策略
当前计划适用于需要删除的客户端注册策略,以取代《 服务器管理指南》 中所述的客户端策略。客户端策略更为灵活,支持更多用例。
Red Hat Single Sign-On 目前支持两种方式通过客户端注册服务。
-
已验证的请求 - 注册新客户端的请求必须包含如上所述的
Initial Access Token或Bearer Token。 - 匿名请求 - 注册新客户端的请求不需要包含任何令牌
匿名客户端注册请求非常有趣且强大的功能,但您通常不希望任何人可以在没有任何限制的情况下注册新客户端。因此,我们有 客户端注册策略 SPI,它提供了一种限制谁可以注册新客户端及在哪个条件下注册的方法。
在 Red Hat Single Sign-On 管理控制台中,您可以单击 Client Registration 选项卡,然后选择 Client Registration Policies 子目录。在这里,您将看到默认为匿名请求配置哪些策略,以及针对经过身份验证的请求配置了哪些策略。
仅允许匿名请求(不含任何令牌的请求)只用于创建新客户端创建(注册)。因此,当您通过匿名请求注册新客户端时,响应将包含注册访问令牌,该令牌必须用于读取、更新或删除特定客户端的请求。但是,从匿名注册使用此注册访问令牌时,也会受到匿名注册政策的约束!这意味着,如果您有受信任的主机策略,更新客户端的请求也需要来自 受信任的主机。例如,在更新客户端以及存在 Consent 时,不允许禁用 Consent。
目前,我们有这些策略实现:
-
可信主机策略 - 您可以配置可信主机和可信域的列表。只能从这些主机或域发送给客户端注册服务的请求。从某些不可信 IP 发送的请求将被拒绝。新注册的客户端的 URL 还必须使用那些可信主机或域。例如,不允许将客户端的
Redirect URI设置为指向某些不可信主机的客户端。默认情况下,没有白名单的主机,因此匿名客户端注册会被禁用。 -
定同意策略 - 新注册的客户端将启用
Consent Allowedswitch。因此,在身份验证成功后,用户总是在需要批准权限时看到同意屏幕(客户端范围)。这意味着,除非用户批准,否则客户端无法访问任何个人信息或用户的权限。 - 协议映射策略 - 允许配置白名单协议映射程序实施列表。如果包含一些非whitelisted 协议映射程序,则无法注册或更新新的客户端。请注意,这个策略也用于经过身份验证的请求,因此即使对于经过身份验证的请求,也可以使用协议映射程序的一些限制。
-
客户端范围策略 - 允许将
客户端范围列入白名单,这些范围可用于新注册或更新的客户端。默认情况下,没有白名单范围,只有客户端范围定义为Realm Default Client Scopes会被默认列在白名单中。 -
完整范围策略 - 新注册的客户端将禁用
Full Scope Allowed开关。这意味着它们不会有任何有范围的域角色,或者其他客户端的角色。 - max Clients Policy - 如果 realm 中当前客户端数相同的或大于指定的限制,则拒绝注册。默认情况下,匿名注册需要 200。
- Client Disabled Policy - 新注册的客户端将被禁用。这意味着,管理员需要手动批准并启用所有新注册的客户端。默认情况下,即使匿名注册也不使用此策略。