我正在使用Kyecloak:4.8.0,并为我的领域启用了蛮力攻击。 现在,只要用户提供3次错误的凭据,该用户就会被暂时锁定。
但是用户仍然会看到“无效的用户名/密码”。
根据此线程Keycloak故意这样做: https://issues.jboss.org/browse/KEYCLOAK-5284
但是我仍然想向用户显示他的帐户已被锁定。
有什么办法可以自定义此消息?
我尝试通过在自定义按键斗篷主题中添加消息来做到这一点,如下所示:
位置:themes \ adminlte \ login \ messages \ messages_en.properties
accountTemporarilyDisabledMessage=Account is temporarily disabled, contact admin or try again later.
此更改无效。
答案 0 :(得分:4)
经过Keycloak基本代码后,我发现:Keycloak使用Messages.INVALID_USER
类中编写的属性中的AbstractFormAuthenticator
(invalidUserMessage)。
现在该类由UsernamePasswordForm扩展,以将其更改为自定义消息,如下所示,我编写了自定义身份验证器(Keycloak SPI)
public class CustomUsernameFormAuthenticator extends UsernamePasswordForm {
@Override
protected String tempDisabledError() {
return Messages.ACCOUNT_TEMPORARILY_DISABLED;
}
}
在密钥斗篷中部署spi Jar之后,在您的领域中启用它。 我们完成了:)