# Custom LoginFormsProvider is failing

**URL:** <https://forum.keycloak.org/t/custom-loginformsprovider-is-failing/26746>\
**Category:** Extending the server\
**Tags:** authentication\
**Created:** [July 1, 2024, 4:22pm UTC](https://forum.keycloak.org/t/custom-loginformsprovider-is-failing/26746 "2024-07-01T16:22:56Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![madgeorge](https://avatars.discourse-cdn.com/v4/letter/m/f07891/32.png) [@madgeorge](https://forum.keycloak.org/u/madgeorge)\
**Post date:** [July 1, 2024, 4:22pm UTC](https://forum.keycloak.org/t/custom-loginformsprovider-is-failing/26746/1 "2024-07-01T16:22:56Z")

</div>

I am currently trying to implement a custom login forms provider. I have a sample class extension and a factory extension to FreeMarkerLoginFormsProvider and FreeMarkerLoginFormsProviderFactory.

public class CustomLoginFormsProvider extends FreeMarkerLoginFormsProvider {

```
private static final Logger logger = Logger.getLogger(CustomLoginFormsProvider.class);

public CustomLoginFormsProvider(KeycloakSession session) {
    super(session);
}

```

public class CustomLoginFormsProviderFactory extends FreeMarkerLoginFormsProviderFactory {

```
public static final String PROVIDER_ID = "nameri-pro-freemarker";
@Override
public LoginFormsProvider create(KeycloakSession session) {
    return new CustomLoginFormsProvider(session);
}

@Override
public String getId() {
    return PROVIDER_ID;
}

```

I have also provided the META-INF file with the name org.keycloak.forms.login.LoginFormsProviderFactory and with the correct factory class.

I am always getting the NULL pointer exception.

2024-07-01 18:23:15,272 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (executor-thread-9) Uncaught server error: java.lang.NullPointerException: Cannot invoke “org.keycloak.forms.login.LoginFormsProvider.setAuthenticationSession(org.keycloak.sessions.AuthenticationSessionModel)” because the return value of “org.keycloak.models.KeycloakSession.getProvider(java.lang.Class)” is null

Is this functionality now obsolete or am I doing something wrong ?

---

<div class="post-metadata">

**Author:** ![djordje](https://yyz2.discourse-cdn.com/free1/user_avatar/forum.keycloak.org/djordje/32/10815_2.png) [@djordje](https://forum.keycloak.org/u/djordje)\
**Post date:** [July 4, 2024, 1:39pm UTC](https://forum.keycloak.org/t/custom-loginformsprovider-is-failing/26746/2 "2024-07-04T13:39:46Z")

</div>

Keycloak can make problem when you don’t have defined default provider.  
First check if you provider is visible in here:  
 ![Screenshot 2024-07-04 at 15.36.28](https://global.discourse-cdn.com/free1/uploads/keycloak/original/2X/7/70b32057a79757e1150d683429ad6247615c0244.png)

Then try to add something like:

**KC\_SPI\_LOGIN\_PROVIDER=nameri-pro-freemarker**

in your config.
