8.9. 恢复代码
恢复代码是红帽构建的 Keycloak 自动生成的一系列连续一次性密码(当前为 12 个)。通过在身份验证流中添加 Recovery Authentication Code Form authenticator,代码可以用作第二因素身份验证(2FA)。在流中配置时,红帽构建的 Keycloak 会要求用户输入下一个生成的代码。当用户引入当前代码时,它会被删除,下一次登录需要下一个代码。
由于它的性质,恢复代码通常作为其他 2FA 方法的备份工作。它们可以补充 OTP Form 或 WebAuthn Authenticator,为登录红帽构建的 Keycloak (例如,如果之前 2FA 方法所使用的软件或硬件设备被破坏或不可用)提供支持的方法。
您可以通过启用 Add recovery code 来配置 Configure OTP required action 来自动请求恢复代码。
8.9.1. 启用检查恢复代码所需的操作 复制链接链接已复制到粘贴板!
检查 Red Hat build of Keycloak 中是否启用了恢复代码操作:
- 点菜单中的 Authentication。
- 点 Required Actions 选项卡。
- 确保将 Recovery Authentication Codes 开关 Enabled 设置为 On。
如果您希望所有新用户在首次登录时注册其恢复代码凭据,请将 Default Action 切换为 On。
8.9.2. 配置恢复代码所需的操作 复制链接链接已复制到粘贴板!
在 admin 控制台的 Required Actions 选项卡中,您可以选择配置 Recovery Authentication Codes required 操作。目前,有一个配置选项 Warning Threshold 可用。当用户在帐户上有少量剩余的恢复码时,帐户控制台会显示用户的警告,这会建议他们设置一组新的恢复代码。显示给用户的警告可能类似如下:
恢复代码帐户控制台警告
8.9.3. 将恢复代码添加到浏览器流中 复制链接链接已复制到粘贴板!
以下流程添加了 Recovery Authentication Code Form,作为默认 浏览器 流中登录的替代方法。
- 在域菜单中点 Authentication。
- 单击 浏览器 流。
- 在 Browser - Conditional 2FA 子流中找到执行恢复 身份验证代码表单。
将 要求 从 Disabled 更改为该执行的替代。
恢复代码浏览器流
使用这个配置,2FA 身份验证器(
OTP FormandRecovery Authentication Code Form)都是登录到红帽构建的 Keycloak 的替代方法。如果用户配置了这两个凭证类型,则默认会显示具有最高优先级的凭证,但 Try Another Way 选项会显示,以便用户具有登录的替代方法。
您可以在 第 8.10.3 节 “2FA 条件工作流示例” 中看到更多 2FA 配置示例。
8.9.4. 创建恢复代码凭证 复制链接链接已复制到粘贴板!
启用恢复代码后,在流中管理凭证类型后,用户可以请求创建自己的代码。这个操作只是在红帽构建的 Keycloak (使用帐户控制台或管理员使用管理控制台分配)中要使用的另一个 必要操作。
执行时所需的操作会生成代码列表,并将其提供给用户。这个操作提供了打印、下载或复制代码列表,以帮助用户存储它们是一个安全的地方。为了完成设置,应在之前 检查安全的地方保存 这些代码。
恢复验证代码设置页面
恢复代码可以随时重新创建。