我正在尝试编写自定义身份验证器。因此,在我的action()
方法中,我试图根据那里的userId查找现有用户。
import org.keycloak.models.UserModel;
.....
@Override
public void action(AuthenticationFlowContext context) {
System.out.println("*******I AM INSIDE THE ACTION CONTROLLER***********");
String userId = "8837fe42-0ec7-4117-aedb-75746078a101";
//Code to look for user with userId then validate .
}
我是keycloak的新手,当我尝试使用UserModel时说空指针异常
瑞格斯
答案 0 :(得分:1)
您必须先获取KeycloakSession
对象,然后按以下方式检索UserProvider
:
UserModel user = context.getSession().users().getUserById(userId, context.getRealm());
KeycloakSession
是访问各种应用程序服务的起点。