WSO2-在基本身份验证之前添加本地身份验证步骤

时间:2019-05-31 13:12:32

标签: wso2 wso2is

WSO2 5.3.0。我尝试在基本身份验证运行之前将本地身份验证步骤放入流程中。这有助于升级我们的密码哈希算法(请参见this other question I asked

我遇到的问题(我认为)是未为新的本地身份验证器调用initialAuthenticationRequest(因此,用户名当时为null,基本身份验证器运行以弹出登录屏幕并进行填写,但是我的代码永远不会重新运行。

编辑:因为canHandle评估为true,所以我的InitialAuthenticationRequest被跳过了。如果该方法返回错误,则会调用invokeInitialAuthenticationRequest(代码参考here

我当前的难题是如何将http请求参数传递到下一步(BasicAuthenticator),以使我的登录屏幕不会出现两次。感谢您对此问题的任何帮助。

编辑2:传递了请求参数,但是其他原因导致BasicAuthenticator.initiateAuthenticationRequest被调用(请参见上面的相同代码参考)。看起来好像是因为请求上的属性“ commonAuthHandled”设置为true,但是我找不到发生的地方,所以请帮助查找我当前正在寻找的东西

1 个答案:

答案 0 :(得分:0)

我的解决方案是覆盖处理方法(更仔细地阅读this code之后,我意识到我的步骤是在处理响应后将commonAuthHandled位切换回true)

有点骇人听闻,但似乎可行