覆盖 keycloak.x 中的默认身份验证器提供程序

Posted

技术标签:

【中文标题】覆盖 keycloak.x 中的默认身份验证器提供程序【英文标题】:override default authenticator provider in keycloak.x 【发布时间】:2022-01-08 17:09:14 【问题描述】:

我需要更改默认 kerberos 身份验证器的行为(因为此处声明的问题:KEYCLOAK-19865)。

我想我可以创建一个新工厂并使用现有 ID:

public class CustomSpnegoAuthenticatorFactory implements AuthenticatorFactory, DisplayTypeAuthenticatorFactory 
    public static final String PROVIDER_ID = "auth-spnego"; // ID of the default provider SpnegoAuthenticatorFactory

并在我的自定义提供程序中添加以下行:META-INF/services/org.keycloak.authentication.AuthenticatorFactory

org.keycloak.authentication.authenticators.browser.CustomSpnegoAuthenticatorFactory

但仍然使用默认提供程序。如何覆盖 keycloak.x 中的默认提供程序?

编辑:我们有很多使用现有身份验证流程和 kerberos 配置的安装。我正在寻找的是覆盖默认提供程序,而不修改生产配置/身份验证流程。

【问题讨论】:

【参考方案1】:

您必须使用自定义 ID 并替换身份验证流程中的身份验证器。

【讨论】:

我们有很多使用现有身份验证流程和 kerberos 配置的安装。我正在寻找的是覆盖默认提供程序,而不修改生产配置/身份验证流程。

以上是关于覆盖 keycloak.x 中的默认身份验证器提供程序的主要内容,如果未能解决你的问题,请参考以下文章

Symfony2 实体用户提供者覆盖自定义身份验证提供者

Java中的Bigtable身份验证

laravel 5 身份验证更改为验证器

使用 Strava 提供程序进行 Firebase 身份验证

Laravel 5.1 使用默认身份验证控制器和中间件尝试使用额外参数进行身份验证

如何在午睡中覆盖某些资源的默认(“**”)装饰器?