WSO2 - 在基本身份验证之前添加本地身份验证步骤
WSO2 - Add local authentication step BEFORE basic auth
WSO2 5.3.0。我试图在基本身份验证运行之前将本地身份验证步骤放入我的流程中。这是为了帮助升级我们的密码哈希算法(参见 )
我 运行 遇到的问题(我认为)是没有为我的新本地身份验证器调用 initiateAuthenticationRequest(因此用户名当时为空,基本身份验证器运行以弹出登录屏幕并填写它,但我的代码永远不会重新运行)。
编辑:我的 initiateAuthenticationRequest 被跳过,因为 canHandle 评估为真。如果方法 returns false initiateAuthenticationRequest 被调用(代码参考 here )
我目前的难题是如何将 http 请求参数传递到下一步(BasicAuthenticator),这样我的登录屏幕就不会出现两次。感谢任何对此问题的帮助。
编辑 2:正在传递请求参数,但其他原因导致 BasicAuthenticator.initiateAuthenticationRequest 被调用(参见上面的相同代码参考)。看起来是因为属性 "commonAuthHandled" 在请求中设置为 true,但我找不到发生这种情况的地方,所以请帮助找到我目前正在寻找的东西
我的解决方案是重写 process 方法(在仔细阅读 this code 之后,我意识到我的步骤是在处理响应后将 commonAuthHandled 位切换回 true)
有点hacky,但似乎有效
WSO2 5.3.0。我试图在基本身份验证运行之前将本地身份验证步骤放入我的流程中。这是为了帮助升级我们的密码哈希算法(参见
我 运行 遇到的问题(我认为)是没有为我的新本地身份验证器调用 initiateAuthenticationRequest(因此用户名当时为空,基本身份验证器运行以弹出登录屏幕并填写它,但我的代码永远不会重新运行)。
编辑:我的 initiateAuthenticationRequest 被跳过,因为 canHandle 评估为真。如果方法 returns false initiateAuthenticationRequest 被调用(代码参考 here )
我目前的难题是如何将 http 请求参数传递到下一步(BasicAuthenticator),这样我的登录屏幕就不会出现两次。感谢任何对此问题的帮助。
编辑 2:正在传递请求参数,但其他原因导致 BasicAuthenticator.initiateAuthenticationRequest 被调用(参见上面的相同代码参考)。看起来是因为属性 "commonAuthHandled" 在请求中设置为 true,但我找不到发生这种情况的地方,所以请帮助找到我目前正在寻找的东西
我的解决方案是重写 process 方法(在仔细阅读 this code 之后,我意识到我的步骤是在处理响应后将 commonAuthHandled 位切换回 true)
有点hacky,但似乎有效