8.3. 身份验证流
身份验证流程 是在登录、注册和其他红帽构建的 Keycloak 工作流期间验证、屏幕和操作的容器。
8.3.1. 内置流
红帽构建的 Keycloak 有几个内置流。您无法修改这些流,但您可以更改流的要求以满足您的需要。 点菜单中的 Authentication 。 单击列表中的 Browser 项,以查看详细信息。
8.3.1.1. Auth 类型
身份验证的名称或要执行的操作。如果身份验证缩进,则它在子流中。它可能或不执行,具体取决于其父级的行为。 cookie 当用户成功登录时,红帽构建的 Keycloak 会设置一个会话 Cookie。如果已经设置了 Cookie,这个验证类型会成功。由于 Cookie 供应商返回成功,并且在这个流程级别上执行每个执行都是,因此红帽构建的 Keycloak 不会执行任何其他执行。 这会导致成功登录。 Kerberos 默认情况下,此验证器被禁用,并在浏览器流中跳过。 身份提供程序 Redirector 此操作通过 Actions > Config 链接进行配置。它重定向到另一个用于 身份代理的 IdP。 由于此子流标记为 替代方案,因此如果 Cookie 身份验证类型通过,则不会执行它。此子流包含需要执行的额外验证类型。红帽构建的 Keycloak 会加载这个子流的执行并处理它们。 第一次执行是 Username Password Form ,它是一个呈现用户名和密码页面的身份验证类型。它标记为 必需的 ,因此用户必须输入有效的用户名和密码。 第二个执行是 Browser - Conditional OTP 子流。这个子流是 条件的 ,并根据 Condition - User Configured 执行的结果执行。如果结果为 true,红帽构建的 Keycloak 会加载这个子流的执行并处理它们。 下一个执行是 Condition - User Configured 身份验证。此身份验证检查红帽构建的 Keycloak 是否在用户流中配置了其他执行。 Browser - Conditional OTP 子流仅在用户配置了 OTP 凭证时才执行。 最后的执行是 OTP Form 。红帽构建的 Keycloak 将这个执行标记为 需要 ,但只有用户在因为 条件 子流中的设置而设置了 OTP 凭证时才运行。如果没有,用户不会看到 OTP 表单。
8.3.1.2. 要求
控制执行某个操作的一组单选按钮。
8.3.1.2.1. 必需
流中的所有 必需 元素都必须成功执行。如果一个必需的元素失败,则流会终止。
8.3.1.2.2. 替代方案
只有单个元素必须成功执行,才能评估流成功。因为 Required 流元素足以将流标记为成功,所以包含 Required 流元素的 Alternative 流元素将无法执行。
8.3.1.2.3. Disabled
元素不计算将流标记为成功。
8.3.1.2.4. 条件
这个要求类型只在子流中设置。 条件 子流包含执行。这些执行必须评估逻辑语句。 如果所有执行都评估为 true ,则 Conditional 子流将充当 Required 。 如果有任何执行评估为 false ,则 Conditional 子流将充当 Disabled 。 如果没有设置执行, Conditional 子流充当 Disabled 。 如果流包含执行,且流没有设置为 Conditional ,则红帽构建的 Keycloak 不会评估执行,执行被视为功能 禁用 。