1.2. 新功能或改进的功能
1.2.1. 身份验证改进 复制链接链接已复制到粘贴板!
RH-SSO 现在提供对 W3C Web 身份验证(WebAuthn)的支持。添加对 WebAuthn 的支持会导致在身份验证流配置和凭证管理中重构更多。在配置身份验证流时,这个更改为管理员提供了更大的灵活性,并在选择首选身份验证机制时为用户提供更大的灵活性。
身份验证和凭证管理的改进具有多个优点。
1.2.1.1. 双因素身份验证 复制链接链接已复制到粘贴板!
现在,管理员更容易配置双因素身份验证,并为双因素身份验证选择多个替代方案。例如,管理员可以将 OTP 和 WebAuthn 配置为身份验证流中的 alternatives,允许用户在身份验证过程中选择这些机制。
1.2.1.2. 免密码身份验证 复制链接链接已复制到粘贴板!
管理员更容易配置免密码身份验证。此功能可用于 WebAuthn,可用作双因素身份验证机制和无密码身份验证机制。如果是免密码,则不需要使用 WebAuth 进行身份验证的用户在身份验证过程中提供密码。更容易组合免密码和双因素身份验证。
1.2.1.3. 身份优先身份验证 复制链接链接已复制到粘贴板!
管理员可以配置身份验证流程,让用户在身份验证过程中仅提供第一个表单的用户名。此更改可以提供更好的灵活性,因为 RH-SSO 可以更好地检测目标用户的首选身份验证机制,并根据情况显示验证表单。
1.2.1.4. 条件验证器 复制链接链接已复制到粘贴板!
RH-SSO 允许在身份验证流的特定位置添加条件。因此,在满足指定条件时,需要使用身份验证机制进行验证。这意味着,特定角色的成员需要双因素身份验证。另一个例子是,配置双因素凭证的用户需要双因素身份验证机制。
1.2.1.5. 更改为 OPTIONAL 身份验证执行要求 复制链接链接已复制到粘贴板!
通过添加条件验证器,我们可以删除身份验证执行的 OPTIONAL 要求。条件验证器更灵活,并允许支持之前允许使用 OPTIONAL 身份验证执行要求的所有内容。如果您使用 OPTIONAL 身份验证执行,则会自动迁移身份验证流。
如需了解更多详细信息 ,请参阅升级指南。
1.2.1.6. 凭证管理 复制链接链接已复制到粘贴板!
在 RH-SSO 数据库中存储的用户凭证格式已更改。另外,每个用户都可以具有同一类型的多个凭证,如多个 OTP 凭证或多个 WebAuthn 凭证。在身份验证过程中,用户可以选择使用哪个凭证以及使用哪个身份验证机制。
管理员可以查看特定用户的所有凭证,以及与目标凭证关联的一些公共元数据。例如,管理员可以查看哪些哈希算法用于哈希用户密码。管理员可以删除某些用户凭据或更改某些凭据的优先级,以便它们成为目标用户的首选。
1.2.1.7. 用户的凭证管理 复制链接链接已复制到粘贴板!
用户可以在帐户控制台中看到其所有凭证,并添加或删除凭证。请参阅 New Account Console 中的部分,它是一个技术预览功能。目前支持的用户帐户控制台(用户帐户服务)不支持此功能。它支持 OTP 的方式类似于之前的 RH-SSO 版本。
1.2.2. secret 的 vault 复制链接链接已复制到粘贴板!
在本发行版本中,RH-SSO 添加了一个 vault 来存储和检索 secret。库提供对 secret 的安全、自动访问 secret,以消除明文值的任何存储。通过使用密码库,数据库包含对 vault 条目的引用,而不是实际的 secret。另外,使用 vault 卸载从 RH-SSO 管理员管理 secret 到 vault 管理员的机密。
多个配置字段可以从外部密码库获取其值,而不必要求用户直接输入值。这些字段包括 LDAP 绑定密码、SMTP 密码和身份提供程序 secret。
RH-SSO 提供了从 OpenShift secret、Elytron 凭证存储或自定义密码库读取 secret 的功能。
1.2.2.1. OpenShift vault 复制链接链接已复制到粘贴板!
RH-SSO 支持 OpenShift 机密的 vault 实施。这些 secret 可以作为数据卷挂载,它们显示为扁平文件结构的目录,其中每个 secret 都由名称为 secret 名称的文件表示,并且该文件的内容是 secret 值。
1.2.2.2. Elytron 凭证存储 复制链接链接已复制到粘贴板!
RH-SSO 包括了一个新的内置 vault 供应商,从由密钥存储支持的 Elytron 凭证存储中读取 secret。凭证存储的创建和管理是由 Elytron 使用 Elytron 子系统或 elytron-tool.sh 脚本处理的。
1.2.2.3. 自定义密码库 复制链接链接已复制到粘贴板!
引进了 vault SPI,以便开发扩展以从自定义密码库访问 secret。
如需了解更多详细信息,请参阅 服务器 管理指南 和服务器开发人员指南。
1.2.3. Webauthn (预览) 复制链接链接已复制到粘贴板!
RH-SSO 为 W3C Web 身份验证(WebAuthn)提供有限的支持。它充当 WebAuthn 的 Relying party (RP)。
启用 WebAuthn 时,管理员可以配置 WebAuthn 策略,该策略允许管理员限制可以使用什么 WebAuth 验证器设备,以及测试它们所需的内容。管理员可以为 WebAuthn 双因素验证器或 WebAuthn 免密码身份验证配置不同的设置。管理员被允许要求特定用户配置 WebAuthn 凭证和/或配置身份验证流程,从而使所有用户需要 WebAuth 身份验证,或者允许作为双因素机制等。如这些发行注记的 Authentication improvementment 部分所述,这里有很多灵活性。
Webauthn 是技术预览,不被支持。此功能默认为禁用。这个功能的成功取决于用户的 WebAuthn 支持验证器、浏览器和平台。如果您使用此 WebAuthn 支持,请明确说明这些实体支持 WebAuthn 规格的范围。
用户只能在新帐户控制台中管理其 WebAuthn 凭证,如下一节所述。
1.2.4. 新帐户控制台(预览) 复制链接链接已复制到粘贴板!
在技术预览中,用户帐户服务作为新帐户控制台进行了显著改进。现有用户帐户服务仍被支持。
要尝试使用此控制台,
使用系统属性启动 RH-SSO 服务器,以启用新的帐户控制台和新帐户 REST API:
standalone -Dkeycloak.profile.feature.account_api=enabled -Dkeycloak.profile.feature.account2=enabled
- 登录 Admin 控制台。
- 选择 Realm Settings,Themes。
- 将 Account Theme 更改为 rhsso-preview。
当您进入管理帐户时,您将看到新的帐户控制台。以下是示例屏幕:
这个新控制台基于 React 和 PatternFly 4。它允许您使用 PatternFly CSS 变量来 轻松处理。它还允许您删除页面并添加您自己的页面。以后的发行版本中将提供完整的文档。
1.2.5. 新的默认主机名供应商 复制链接链接已复制到粘贴板!
这个新的默认主机名供应商添加了以下改进:
- 不需要将供应商改为一个设置固定的基本 URL
- 支持 frontend 和 backend 请求的不同基本 URL
- 当 RH-SSO 通过反向代理在不同上下文路径上公开时,支持更改 context-path
1.2.6. 其他改进 复制链接链接已复制到粘贴板!
RH-SSO 在此发行版本中包括额外的次要功能。大部分功能改进了对高级 OpenID Connect/OAuth2 概念和算法的支持,它们与支持 globally-grade API (FAPI)有关。RH-SSO 尚不完全支持 FAPI,但以下更改在该方向上移动。
- MP-JWT 客户端范围,使得在 Eclipse MicroProfile 规范后轻松发布令牌。
- 使用签名客户端 secret JWT 支持更多算法。名称 HS384 和 HS512 算法添加到已存在的 HS256 算法中。
- 带有签名 JWT 或基本身份验证的 OIDC 身份代理的客户端身份验证。支持 OIDC 规格中的所有客户端验证方法。
- 身份代理会进行更改,以便在使用身份提供程序的特定用户第一次登录时禁用 RH-SSO 用户的自动创建。如需了解更多详细信息,请参阅 服务器管理指南中的 禁用自动用户创建。
- 支持使用私钥签名的 JWT 的客户端身份验证的其他签名算法。
- 支持使用签名 JWT 的客户端身份验证的其他签名算法。所有支持的算法包括 RS256、RS384、RS512、RS512、PS256、PS384、PS512、ES256、ES384 和 ES512
- PS256 令牌签名支持
- 对 JavaScript 适配器的 PKCE 支持。
- 改进了用户区域设置的处理
- 对管理端点/控制台中的客户端和角色的分页支持
1.2.7. 现有技术预览功能 复制链接链接已复制到粘贴板!
以下功能继续处于技术预览状态:
- 令牌交换
- 细粒度授权权限