9.11. 后登录流
当您要在每次使用特定身份提供程序登录时触发一些额外的身份验证操作时,登录流很有用。例如,您可能想要在每次登录红帽构建的 Keycloak 后触发双因素验证,因为 在登录期间不提供双因素身份验证。
Facebook
使用所需步骤设置身份验证流后,在配置身份提供程序时将其设置为 Post 登录流。
9.11.1. 后登录流示例 复制链接链接已复制到粘贴板!
9.11.1.1. 在身份提供程序登录后请求双因素身份验证 复制链接链接已复制到粘贴板!
最简单的方法是使用一个特定的双因素方法强制进行身份验证。例如,在请求 OTP 时,流只能类似它,且只配置了单个验证器。当用户没有帐户上的 OTP 设置时,此流要求用户在第一次登录时配置 OTP。
带有 OTP 的 2FA 后登录流
更复杂的设置可以包含多个双因素身份验证方法,配置为 ALTERNATIVE。在这种情况下,如果该用户还没有在帐户上配置任何双因素身份验证,请确保请求用户设置一种方法。这可以按如下方式完成:
-
确保其中一个双因素方法在第一个 登录流 中被配置为
REQUIRED。如果您希望所有用户由身份提供程序登录注册,则此方法可以正常工作。 -
将双因素方法作为
ALTERNATIVE嵌套到一个条件子流中,如一个名为2FA的另一个条件子流,如OTP (如果没有 2FA),这只有在之前的子流没有执行时触发,并要求用户添加其中一个双因素方法(如 OTP)。身份验证流 章节的 Conditions 部分提供了类似的流配置示例。
9.11.2. 为专用客户端请求额外的身份验证步骤 复制链接链接已复制到粘贴板!
在某些情况下,客户端或一组客户端可能需要在身份提供程序登录后执行一些额外的步骤。以下是在请求客户端范围 foo 时指示所需的流示例,用户在身份提供程序登录后使用 OTP 进行身份验证。
2FA 带有客户端范围和 OTP 的登录流
这是配置 Condition - 客户端范围 用于请求指定客户端范围的示例。
2FA 后登录流客户端范围配置
请求的客户端需要将此客户端范围设置为默认值或可选。在后者的情况下,只有在客户端范围被客户端 范围 被 OIDC/OAuth2 客户端登录时,才会执行流。