我正在查看 Keycloak cookie,特别是在 KC_RESTART 上。在阅读链接:Keycloak 身份验证流程时 发现,当浏览器根会话过期时,KC_RESTART 将用于重新创建身份验证流程。
我想知道 keycloak 如何验证这个 cookie。因此,在会话结束(我通过 keycloak 管理控制台设置:SSO 会话空闲)之后,我尝试在访问经过身份验证的 API 之前修改 KC_RESTART cookie,但它仍然返回200 OK响应。
这意味着这个 cookie 没有得到验证。
如果我的理解正确的话,任何人都可以指导。如果这不是正确的测试方法,请告诉我如何测试 Keycloak 是否正在验证此 cookie。
如果这个 cookie 没有被使用,那么如何禁用它呢?
我有一个通用方法,我需要在多个类中使用它,只需从调用类中调用一次即可。所以我看到的是我可以用两种方式调用它。
public abstract class TestAbstractClass {
void commonMethod(){
System.out.println("Calling common method : TestAbstractClass");
}
}
Run Code Online (Sandbox Code Playgroud)
调用类:
public class RunApplication extends TestAbstractClass{
public void testMethod(){
commonMethod();
}
}
Run Code Online (Sandbox Code Playgroud)
[或者]
在界面中使用默认方法的 Java 8 特性。
public interface TestInterface {
default void commonMethod(){
System.out.println("Calling common method : TestInterface");
}
}
Run Code Online (Sandbox Code Playgroud)
调用类:
public class RunApplication implements TestInterface{
public void testMethod(){
commonMethod();
}
}
Run Code Online (Sandbox Code Playgroud)
它们对我来说都很好,但是更好的方法是使用非抽象方法的抽象类或具有默认方法的接口。
我正在使用 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)
这个改变是行不通的。