es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  , , , ,

Answer

  1. Avatar for 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:

    1. Cree una nueva fábrica para el autenticador implementando las interfaces AuthenticatorFactory y DisplayTypeAuthenticatorFactory.
    2. Use el mismo ID que el proveedor por defecto (SpnegoAuthenticatorFactory), para que el nuevo proveedor pueda reemplazar al antiguo.

    3. Agregue su proveedor personalizado al archivo META-INF/services/org.keycloak.authentication.AuthenticatorFactory.

    4. En el archivo de configuración de Keycloak (keycloak.x), agregue la siguiente configuración:

       keycloak.authentication.authenticators = [
           "my-authenticator-factory"
       ]
    

    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.

Comments are closed.