如何根据请求的范围自定义 KeyCloak 身份验证流程

Ham*_*amy 5 authentication oauth scopes keycloak

我正在尝试配置 KeyCloak 浏览器流程以允许请求scope1使用用户/密码表单的用户以及请求scope2使用用户/密码表单和 OTP 的用户。我的问题分为两部分:

  1. 我是否没有正确理解某些内容 - 我很惊讶我必须自己编写此代码,并且它尚未在 Keycloak 中提供
  2. 这种描述的方法有效吗?

我不想以用户为条件,而是以所请求的范围为条件。据我所知,为了完成这项工作,我需要实现一个自定义ConditionalAuthenticator,然后大致像这样配置,Condition - User Configured用我自己的实现替换。

每个范围的配置示例