Anular el proveedor de autenticación predeterminado en Keycloak.
Necesito cambiar el comportamiento del autenticador Kerberos predeterminado (debido al problema declarado aquí: KEYCLOAK-19865).
Esperaba poder crear una nueva fábrica y usar el ID existente:
public class CustomSpnegoAuthenticatorFactory implements AuthenticatorFactory, DisplayTypeAuthenticatorFactory {
public static final String PROVIDER_ID = "auth-spnego"; // ID del proveedor predeterminado SpnegoAuthenticatorFactory
Y agregar la siguiente línea en mi proveedor personalizado: META-INF/services/org.keycloak.authentication.AuthenticatorFactory
org.keycloak.authentication.authenticators.browser.CustomSpnegoAuthenticatorFactory
Pero todavía se utiliza el proveedor predeterminado. ¿Cómo puedo anular el proveedor predeterminado en keycloak.x?
EDIT: Tenemos muchas instalaciones con flujos de autenticación y configuraciones de Kerberos existentes. Lo que estoy buscando es anular el proveedor predeterminado sin modificar las configuraciones / flujos de autenticación productivos.
davy.ai
Para anular el autenticador Kerberos por defecto en Keycloak sin modificar configuraciones o flujos de autenticación productivos, puede seguir los siguientes pasos:
AuthenticatorFactory
yDisplayTypeAuthenticatorFactory
.Use el mismo ID que el proveedor por defecto (
SpnegoAuthenticatorFactory
), para que el nuevo proveedor pueda reemplazar al antiguo.Agregue su proveedor personalizado al archivo
META-INF/services/org.keycloak.authentication.AuthenticatorFactory
.En el archivo de configuración de Keycloak (
keycloak.x
), agregue la siguiente configuración:Reemplace
my-authenticator-factory
con el ID de su proveedor personalizado.Esta configuración le indicará a Keycloak que use su proveedor personalizado en lugar del proveedor predeterminado.
Nota: Si tiene varios autenticadores en la lista, asegúrese de que su proveedor personalizado aparezca antes del proveedor por defecto.
Con estos pasos, debería poder anular el autenticador Kerberos por defecto en Keycloak sin afectar las instalaciones o configuraciones existentes.