9.11. 后登录流


当您要在每次使用特定身份提供程序登录时触发一些额外的身份验证操作时,登录流很有用。例如,您可能想要在每次登录红帽构建的 Keycloak 后触发双因素验证,因为 Facebook 在登录期间不提供双因素身份验证。

使用所需步骤设置身份验证流后,在配置身份提供程序时将其设置为 Post 登录流

9.11.1. 后登录流示例

最简单的方法是使用一个特定的双因素方法强制进行身份验证。例如,在请求 OTP 时,流只能类似它,且只配置了单个验证器。当用户没有帐户上的 OTP 设置时,此流要求用户在第一次登录时配置 OTP。

带有 OTP 的 2FA 后登录流

Post login OTP

更复杂的设置可以包含多个双因素身份验证方法,配置为 ALTERNATIVE。在这种情况下,如果该用户还没有在帐户上配置任何双因素身份验证,请确保请求用户设置一种方法。这可以按如下方式完成:

  • 确保其中一个双因素方法在第一个 登录流 中被配置为 REQUIRED。如果您希望所有用户由身份提供程序登录注册,则此方法可以正常工作。
  • 将双因素方法作为 ALTERNATIVE 嵌套到一个条件子流中,如一个名为 2FA 的另一个条件子流,如 OTP (如果没有 2FA ),这只有在之前的子流没有执行时触发,并要求用户添加其中一个双因素方法(如 OTP)。身份验证流 章节的 Conditions 部分提供了类似的流配置示例

9.11.2. 为专用客户端请求额外的身份验证步骤

在某些情况下,客户端或一组客户端可能需要在身份提供程序登录后执行一些额外的步骤。以下是在请求客户端范围 foo 时指示所需的流示例,用户在身份提供程序登录后使用 OTP 进行身份验证。

2FA 带有客户端范围和 OTP 的登录流

Post login with client scope and OTP

这是配置 Condition - 客户端范围 用于请求指定客户端范围的示例。

2FA 后登录流客户端范围配置

Post login flow client scope configuration

请求的客户端需要将此客户端范围设置为默认值或可选。在后者的情况下,只有在客户端范围被客户端 范围 被 OIDC/OAuth2 客户端登录时,才会执行流。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat