8.9. 恢复代码


恢复代码是红帽构建的 Keycloak 自动生成的一系列连续一次性密码(当前为 12 个)。通过在身份验证流中添加 Recovery Authentication Code Form authenticator,代码可以用作第二因素身份验证(2FA)。在流中配置时,红帽构建的 Keycloak 会要求用户输入下一个生成的代码。当用户引入当前代码时,它会被删除,下一次登录需要下一个代码。

由于它的性质,恢复代码通常作为其他 2FA 方法的备份工作。它们可以补充 OTP FormWebAuthn Authenticator,为登录红帽构建的 Keycloak (例如,如果之前 2FA 方法所使用的软件或硬件设备被破坏或不可用)提供支持的方法。

注意

RecoveryCodes 是 技术预览,且不被支持。此功能默认为禁用。

使用-- features=preview or-- features=recovery-codes启用服务器

8.9.1. 启用恢复代码所需的操作

检查 Red Hat build of Keycloak 中是否启用了恢复代码操作:

  1. 点菜单中的 Authentication
  2. Required Actions 选项卡。
  3. 确保将 Recovery Authentication Codes 开关 Enabled 设置为 On

如果您希望所有新用户在首次登录时注册其恢复代码凭据,请将 Default Action 切换为 On

8.9.2. 将恢复代码添加到浏览器流中

以下流程添加了 Recovery Authentication Code Form,作为默认 浏览器 流中登录的替代方法。

  1. 在域菜单中点 Authentication
  2. 单击 浏览器 流。
  3. Action 列表中选择 Duplicate,以制作内置 浏览器 流的副本。

    例如,输入 Recovery Codes Browser 作为副本的名称。

  4. Duplicate
  5. 在流程 恢复代码浏览器 - 条件 OTP 中,单击 Add (+)按钮,然后选择 Add Execution
  6. 过滤以查找 Recovery Authentication Code FormAdd the execution。
  7. 将新步骤 的要求设置为 alternatives
  8. 另外,将要求设置为 Alternative for the OTP Form

    恢复代码浏览器流

    Recovery Codes Browser flow

  9. 单击屏幕顶部的 Action 菜单。
  10. 从下拉列表中选择 Bind flow
  11. 从下拉列表中选择 Browser flow,将这个新流设置为域的默认流。
  12. 点击 Save

使用这个配置,2FA 身份验证器(OTP Form and Recovery Authentication Code Form)都是登录到红帽构建的 Keycloak 的替代方法。如果用户配置了这两个凭证类型,则默认会显示 OTP Form,但另一个选项 Try Another ways 将允许选择 Recovery Authentication Code 登录。

您可以在 第 8.10.3 节 “2FA 条件工作流示例” 中看到更多 2FA 配置示例。

8.9.3. 创建恢复代码凭证

启用恢复代码后,在流中管理凭证类型后,用户可以请求创建自己的代码。这个操作只是在红帽构建的 Keycloak (使用帐户控制台或管理员使用管理控制台分配)中要使用的另一个 必要操作

执行时所需的操作会生成代码列表,并将其提供给用户。这个操作提供了打印、下载或复制代码列表,以帮助用户存储它们是一个安全的地方。为了完成设置,应在之前 检查安全的地方保存 这些代码。

恢复验证代码设置页面

Recovery Authentication Codes setup page

恢复代码可以随时重新创建。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat