为了账号安全,请及时绑定邮箱和手机立即绑定

找不到 Keycloak 提供程序

找不到 Keycloak 提供程序

繁星点点滴滴 2021-08-04 17:47:08
我有一个 Keycloak 4.2.1 服务器,我正在尝试为它实现一个自定义的“LoginFormsProvider”。我的目标是使用附加组件扩展到登录页面(freemarker),在我的例子中是一个简单的信息框。我想在 Provider 类中设置的那个框的内容。我已经实现了另外两个自定义提供程序,它们运行良好(UserStorageProvider 和 EventListenerProvider)。所以我的 .jar 文件被服务器找到了。但是我对“LoginFormsProvider”有问题。服务器找不到提供者。请参阅下面的堆栈跟踪...我在“META-INF/services”路径中添加了一个文件“org.keycloak.login.LoginFormsProviderFactory”,包和类名“de.test.login.TestLoginFactory”(不带引号)。这导致了我的提供者的工厂类。就像我为其他提供商所做的那样。我的 FactoryClass 看起来像这样:package de.test.login;import java.util.LinkedHashMap;import java.util.Map;import org.jboss.logging.Logger;import org.keycloak.Config.Scope;import org.keycloak.freemarker.FreeMarkerUtil;import org.keycloak.login.LoginFormsProvider;import org.keycloak.login.LoginFormsProviderFactory;import org.keycloak.models.KeycloakSession;import org.keycloak.models.KeycloakSessionFactory;import org.keycloak.provider.ServerInfoAwareProviderFactory;public class TestLoginFactory  implements  LoginFormsProviderFactory{    private FreeMarkerUtil freeMarker;    private final static String PROVIDER = "test-login-provider";    @Override    public LoginFormsProvider create(KeycloakSession session) {        return new TestLoginProvider(session, freeMarker);    }    @Override    public void init(Scope config) {                freeMarker = new FreeMarkerUtil();    }    @Override    public void postInit(KeycloakSessionFactory factory) {    }    @Override    public void close() {        freeMarker = null;    }    @Override    public String getId() {        return PROVIDER;    }}这里是 Provider 类:package de.test.login;import javax.ws.rs.core.Response;import org.jboss.logging.Logger;import org.keycloak.freemarker.FreeMarkerUtil;import org.keycloak.login.freemarker.FreeMarkerLoginFormsProvider;import org.keycloak.models.KeycloakSession;
查看完整描述

1 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

你使用什么版本的keycloak?如果它是更高版本(1.x 以上)之一,那么您似乎在类中使用了“错误”的导入语句。

请尝试更新所有必要的依赖项,看看这是否可行。


查看完整回答
反对 回复 2021-08-04
  • 1 回答
  • 0 关注
  • 225 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信