8.9. 恢复代码
恢复代码是红帽构建的 Keycloak 自动生成的一系列连续一次性密码(当前为 12 个)。通过在身份验证流中添加 Recovery Authentication Code Form
authenticator,代码可以用作第二因素身份验证(2FA)。在流中配置时,红帽构建的 Keycloak 会要求用户输入下一个生成的代码。当用户引入当前代码时,它会被删除,下一次登录需要下一个代码。
由于它的性质,恢复代码通常作为其他 2FA 方法的备份工作。它们可以补充 OTP Form
或 WebAuthn Authenticator
,为登录红帽构建的 Keycloak (例如,如果之前 2FA 方法所使用的软件或硬件设备被破坏或不可用)提供支持的方法。
RecoveryCodes 是 技术预览,且不被支持。此功能默认为禁用。
使用-- features=preview
or-- features=recovery-codes
启用服务器
8.9.1. 启用恢复代码所需的操作 复制链接链接已复制到粘贴板!
检查 Red Hat build of Keycloak 中是否启用了恢复代码操作:
- 点菜单中的 Authentication。
- 点 Required Actions 选项卡。
- 确保将 Recovery Authentication Codes 开关 Enabled 设置为 On。
如果您希望所有新用户在首次登录时注册其恢复代码凭据,请将 Default Action 切换为 On。
8.9.2. 将恢复代码添加到浏览器流中 复制链接链接已复制到粘贴板!
以下流程添加了 Recovery Authentication Code Form
,作为默认 浏览器 流中登录的替代方法。
- 在域菜单中点 Authentication。
- 单击 浏览器 流。
从 Action 列表中选择 Duplicate,以制作内置 浏览器 流的副本。
例如,输入 Recovery Codes Browser 作为副本的名称。
- 点 Duplicate。
- 在流程 恢复代码浏览器 - 条件 OTP 中,单击 Add (+)按钮,然后选择 Add Execution。
- 过滤以查找 Recovery Authentication Code Form 和 Add the execution。
- 将新步骤 的要求设置为 alternatives。
另外,将要求设置为 Alternative for the OTP Form。
恢复代码浏览器流
- 单击屏幕顶部的 Action 菜单。
- 从下拉列表中选择 Bind flow。
- 从下拉列表中选择 Browser flow,将这个新流设置为域的默认流。
- 点击 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 (使用帐户控制台或管理员使用管理控制台分配)中要使用的另一个 必要操作。
执行时所需的操作会生成代码列表,并将其提供给用户。这个操作提供了打印、下载或复制代码列表,以帮助用户存储它们是一个安全的地方。为了完成设置,应在之前 检查安全的地方保存 这些代码。
恢复验证代码设置页面
恢复代码可以随时重新创建。