Warnings when deploying my provider. "This SPI is internal and may change without notice"

Hello, I just noticed these different warnings when launching Keycloak, it seems new to me or I may not have paid attention before.

  • … is implementing the internal SPI login. This SPI is internal and may change without notice
  • … is implementing the internal SPI form-authenticator. This SPI is internal and may change without notice
  • … is implementing the internal SPI form-action. This SPI is internal and may change without notice

I am currently on version 12 and I plan to do the new update (13,14,15), is there any way to resolve these warnings ?

I modified my pom.xml to change the version of my different dependencies to 15.0.1 and the buid goes without problem. Can I deduce that my code is still compatible ?

AFAIK there is no way to resolve this, other than just accepting the log entries and ignoring them.
These are there since … ever.

Good thing: same code will also run in Keycloak.X, but Keycloak.X won’t print these log entries.

1 Like

Thank you for your feedback :+1:

Hi @dasniko , I am running with Keycloak X (17.0.0) but the warnings still print in the log.

Updating the configuration and installing your custom providers, if any. Please wait.
2022-03-30 06:43:34,311 WARN  [org.keycloak.services] (build-14) KC-SERVICES0047: extension (com.mgmtp.a12.uaa.usermanagement.idp.internal.configurations.KeycloakExtensionConfigurationProviderFactory) is implementing the internal SPI realm-restapi-extension. This SPI is internal and may change without notice
2022-03-30 06:43:35,720 WARN  [org.keycloak.services] (build-14) KC-SERVICES0047: user-management (com.mgmtp.a12.uaa.usermanagement.idp.internal.events.KeycloakEventListenerProviderFactory) is implementing the internal SPI eventsListener. This SPI is internal and may change without notice
2022-03-30 06:43:45,451 INFO  [io.quarkus.deployment.QuarkusAugmentor] (main) Quarkus augmentation completed in 16082ms

My project is worrying that the keycloak-server-spi-private dependency able to break change API in the future.

Thanks for help.

At the time I wrote my answer, the log entries weren’t there. They added them again.
And yes, if you use private dependencies, you should be aware that they might change without notice and break your code. It’s no prohibition to use them, but an awareness message and therefore it’s good that they occur in the logs.

1 Like

Thank you for your reply.
I am finding some examples for SPI in Server Developer Guide
But it uses org.keycloak.provider.ServerInfoAwareProviderFactory in the docs but no warnings or notes for this. This leads to all readers like me that can understand that Keycloak refers to using keycloak-server-spi-private as usual instead of warning like in the log.

Another way to do this is to copy all implementation in keycloak-server-spi-private into our project to do that, can we?

You can also shoot yourself in the foot…

1 Like