You will package your classes within a single jar. This jar must contain a file named org.keycloak.authentication.AuthenticatorFactory and must be contained in the META-INF/services/ directory of your jar. This file must list the fully qualified class name of each AuthenticatorFactory implementation you have in the jar. For example:
This services/ file is used by Keycloak to scan the providers it has to load into the system.
To deploy this jar, just copy it to the providers directory.
Current Mode: none
Runtime Configuration:
kc.cache = ispn (PersistedConfigSource)
kc.config.args = show-config (SysPropConfigSource)
kc.db = dev-file (PersistedConfigSource)
kc.health-enabled = false (PersistedConfigSource)
kc.home.dir = /XXX/keycloak-18.0.2/bin/../ (SysPropConfigSource)
kc.http-enabled = false (PropertiesConfigSource[source=jar:file:///XXX/keycloak-18.0.2/lib/lib/main/org.keycloak.keycloak-quarkus-server-18.0.2.jar!/META-INF/keycloak.conf])
kc.http-relative-path = / (PersistedConfigSource)
kc.log-console-output = default (PropertiesConfigSource[source=jar:file:///XXX/keycloak-18.0.2/lib/lib/main/org.keycloak.keycloak-quarkus-server-18.0.2.jar!/META-INF/keycloak.conf])
kc.log-file = /XXX/keycloak-18.0.2/bin/../data/log/keycloak.log (PropertiesConfigSource[source=jar:file:///XXX/keycloak-18.0.2/lib/lib/main/org.keycloak.keycloak-quarkus-server-18.0.2.jar!/META-INF/keycloak.conf])
kc.metrics-enabled = false (PersistedConfigSource)
kc.provider.file.keycloak-auth-spi.jar.last-modified = 1661271950500 (PersistedConfigSource)
kc.quarkus-properties-enabled = false (PersistedConfigSource)
kc.show.config = none (SysPropConfigSource)
kc.version = 18.0.2 (SysPropConfigSource)
The issue is... I client on Authentication, selection the type (copied from type "Browser") and select "Add exection" - I do not see the option for my custom Authenticator... What did I miss?
Thank you so much in advance!
-Wayne