8.8. Passkeys


Red Hat build of Keycloak 为 Passkeys 提供预览支持。Red Hat build of Keycloak 充当 Passkeys Relying Party (RP)。

Passkey 注册和身份验证是通过 WebAuthn 的功能实现的。因此,红帽构建的 Keycloak 用户可以通过现有 WebAuthn 注册和身份验证进行 Passkey 注册和身份验证

注意

同步 Passkeys 和设备密集型 Passkeys 可用于 Same-Device 和跨设备身份验证(CDA)。但是,Passkeys 操作成功取决于用户的环境。确保在 环境 中 可以成功执行哪些操作。

8.8.1. 使用条件 UI 的 Passkey 身份验证

带有条件 UI 的 Passkey 身份验证可以通过其 passkey 验证用户身份,其方式与 LoginLess WebAuthn 相同。此身份验证显示用户在运行浏览器的设备上存储的 passkeys 列表。因此,用户可以在列表中选择一个 passkeys 进行验证。与 LoginLess WebAuthn 相比,身份验证可以提高用户的身份验证体验。

注意

此身份验证使用 WebAuthn Conditional UI。因此,这个身份验证成功取决于用户的环境。如果环境不支持 WebAuthn Conditional UI,则此身份验证会返回 LoginLess WebAuthn

注意

Passkey 身份验证 是技术预览,且不被支持。此功能默认为禁用。

使用-- features=preview or-- features=passkeys启用服务器

8.8.1.1. 设置

流程

使用条件 UI 设置 Passkey 身份验证,如下所示:

  1. (如果还没有)注册 WebAuthn 免密码支持新的所需操作。使用 Enable WebAuthn Authenticator 注册 中所述的步骤。注册 Webauthn Register Passwordless 操作。
  2. 配置 WebAuthn 无密码策略。在 Admin Console, Authentication 部分中执行配置,在 Policies WebAuthn Passwordless Policy 中。当您为无登录情况配置策略时,将 User Verification Requirement 设置为 required,并将 Requireable credential 设置为 Yes。请注意,由于没有专用的登录策略,因此无法使用 user verification=no/discoverable credential=no 和 loginless 场景(用户验证=yes/可发现的 credential=yes)来混合使用身份验证场景。

    注意

    存储容量通常限制在硬件 passkeys 上,这意味着您无法在您的 passkey 上存储多个可发现的凭证。但是,如果您使用 Google 帐户支持的 Android 电话或由 Bitwarden 支持的 iPhone,则可以缓解这个限制。

  3. 配置身份验证流。创建一个新的身份验证流,添加 Passkeys Conditional UI Authenticator 执行,并将执行的 Requirement 设置设置为 Required

    流的最终配置类似如下: Passkey Authentication with Conditional UI flow flow

  4. 将上述流绑定为域中 浏览器 身份验证流,如上面的 WebAuthn 部分所述

上面的身份验证流程要求用户必须已经在自己的帐户或她的帐户上具有 passkey 凭证才能登录。此要求意味着域中的所有用户都必须已经设置 passkeys。这可以通过启用用户注册来实现实例,如下所述。

8.8.1.2. 为 passkeys 条件 UI 设置注册

  1. 为您的域启用 注册
  2. 在域 的身份验证 流中,选择流 注册 并将验证器 密码验证 切换为 Disabled。这意味着,在本示例设置中创建密码不需要新注册的用户。用户必须始终使用 passkeys,而不是密码。
  3. 返回到 身份验证 选项卡的必需操作 子选项卡,找到 Webauthn Register Passwordless 操作并将其标记为 Set 作为默认操作。这意味着在注册后,它将添加到所有新用户。

注册流设置的替代方法是,将所需的操作 WebAuthn Register Passwordless 添加到已 Red Hat build of Keycloak 的用户。配置所需操作的用户将必须进行身份验证(例如,用户名/密码),然后提示您注册用于无登录身份验证的 passkey。

注意

我们计划提高可用性,并允许将条件 passkeys 与现有验证器和表单(如默认用户名 / 密码表单)集成。

注意

Web Authn Level 3 中,Resident KeyDiscoverable Credential 替换。

如果用户的浏览器支持 WebAuthn Conditional UI,则会显示以下屏幕:

使用条件 UI 的 Passkey 身份验证

Passkey Authentication with Conditional UI

当用户单击 Select your passkey 文本框时,存储在用户运行浏览的设备上的 passkeys 列表如下所示:

使用条件 UI 自动填充的 Passkey 身份验证

Passkey Authentication with Conditional UI Autofill

如果用户的浏览器不支持 WebAuthn Conditional UI,则身份验证将返回到 LoginLess WebAuthn,如下所示:

带有条件 UI 的 Passkey 身份验证回退到 LoginLess WebAuthn

Passkey Authentication with Conditional UI falling back to LoginLess WebAuthn

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat