用户临时锁上的 Keycloak 自定义消息
Keycloak Custom message on user temporary lock
我正在使用 Kyecloak:4.8.0,并为我的领域启用了暴力攻击。
现在每当用户提供3次错误的凭据时,用户将被暂时锁定。
但用户仍会看到 "Invalid username/password"。
根据这个帖子,Keycloak 是故意这样做的:
https://issues.jboss.org/browse/KEYCLOAK-5284
但我还是想告诉用户他的帐户已被锁定。
有什么方法可以自定义这条消息吗?
我尝试通过在自定义 keycloak 主题中添加消息来做到这一点,如下所示:
位置:themes\adminlte\login\messages\messages_en.属性
accountTemporarilyDisabledMessage=Account is temporarily disabled, contact admin or try again later.
此更改无效。
通过 Keycloak 基本代码后,我发现:Keycloak 使用 Messages.INVALID_USER
(invalidUserMessage) 来自写在 AbstractFormAuthenticator
class.
中的属性
这个 class 最后由 UsernamePasswordForm 扩展,现在将其更改为自定义消息我写了自定义身份验证器(Keycloak SPI),如下所示
public class CustomUsernameFormAuthenticator extends UsernamePasswordForm {
@Override
protected String tempDisabledError() {
return Messages.ACCOUNT_TEMPORARILY_DISABLED;
}
}
在此之后,在 keycloak 中部署 spi Jar 并在您的领域中启用它。
我们完成了:)
我正在使用 Kyecloak:4.8.0,并为我的领域启用了暴力攻击。 现在每当用户提供3次错误的凭据时,用户将被暂时锁定。
但用户仍会看到 "Invalid username/password"。
根据这个帖子,Keycloak 是故意这样做的: https://issues.jboss.org/browse/KEYCLOAK-5284
但我还是想告诉用户他的帐户已被锁定。
有什么方法可以自定义这条消息吗?
我尝试通过在自定义 keycloak 主题中添加消息来做到这一点,如下所示:
位置:themes\adminlte\login\messages\messages_en.属性
accountTemporarilyDisabledMessage=Account is temporarily disabled, contact admin or try again later.
此更改无效。
通过 Keycloak 基本代码后,我发现:Keycloak 使用 Messages.INVALID_USER
(invalidUserMessage) 来自写在 AbstractFormAuthenticator
class.
这个 class 最后由 UsernamePasswordForm 扩展,现在将其更改为自定义消息我写了自定义身份验证器(Keycloak SPI),如下所示
public class CustomUsernameFormAuthenticator extends UsernamePasswordForm {
@Override
protected String tempDisabledError() {
return Messages.ACCOUNT_TEMPORARILY_DISABLED;
}
}
在此之后,在 keycloak 中部署 spi Jar 并在您的领域中启用它。 我们完成了:)