Sar*_*ang 2 keycloak keycloak-services keycloak-gatekeeper
我正在使用 Kyecloak:4.8.0,并为我的领域启用了暴力攻击。现在,每当用户提供错误凭据 3 次时,用户将被暂时锁定。
但用户仍然会看到“无效的用户名/密码”。
根据此线程,Keycloak 有意这样做: https ://issues.jboss.org/browse/KEYCLOAK-5284
但我仍然想向用户表明他的帐户已被锁定。
有什么办法可以自定义此消息吗?
我尝试通过在自定义 keycloak 主题中添加消息来实现此目的,如下所示:
位置:themes\adminlte\login\messages\messages_en.properties
accountTemporarilyDisabledMessage=Account is temporarily disabled, contact admin or try again later.
Run Code Online (Sandbox Code Playgroud)
这个改变是行不通的。
在查看了 Keycloak 基本代码后,我发现: Keycloak 使用类Messages.INVALID_USER中编写的属性中的 (invalidUserMessage) AbstractFormAuthenticator。
这个类最后由 UsernamePasswordForm 扩展,现在将其更改为自定义消息,我编写了自定义身份验证器(Keycloak SPI),如下所示
public class CustomUsernameFormAuthenticator extends UsernamePasswordForm {
@Override
protected String tempDisabledError() {
return Messages.ACCOUNT_TEMPORARILY_DISABLED;
}
}
Run Code Online (Sandbox Code Playgroud)
之后,在 keycloak 中部署 spi Jar 并在您的领域中启用它。我们就完成了:)
| 归档时间: |
|
| 查看次数: |
5711 次 |
| 最近记录: |