Package org.keycloak.federation.kerberos
Class KerberosFederationProviderFactory
java.lang.Object
org.keycloak.federation.kerberos.KerberosFederationProviderFactory
- All Implemented Interfaces:
ComponentFactory<KerberosFederationProvider,,UserStorageProvider> ConfiguredProvider,EnvironmentDependentProviderFactory,ProviderFactory<UserStorageProvider>,UserStorageProviderFactory<KerberosFederationProvider>
public class KerberosFederationProviderFactory
extends Object
implements UserStorageProviderFactory<KerberosFederationProvider>, EnvironmentDependentProviderFactory
Factory for standalone Kerberos federation provider. Standalone means that it's not backed by LDAP. For Kerberos backed by LDAP (like MS AD or ApacheDS environment)
you should rather use LDAP Federation Provider.
- Author:
- Marek Posolda
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final List<ProviderConfigProperty>static final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()This is called when the server shuts down.create(KeycloakSession session, ComponentModel model) called per Keycloak transaction.protected KerberosServerSubjectAuthenticatorcreateKerberosSubjectAuthenticator(CommonKerberosConfig kerberosConfig) protected KerberosUsernamePasswordAuthenticatorcreateKerberosUsernamePasswordAuthenticator(CommonKerberosConfig kerberosConfig) protected SPNEGOAuthenticatorcreateSPNEGOAuthenticator(String spnegoToken, CommonKerberosConfig kerberosConfig) getId()This is the name of the provider and will be showed in the admin console as an option.voidinit(Config.Scope config) Only called once when the factory is first created.booleanisSupported(Config.Scope config) Check if the provider is supported and should be available based on the provider configuration.voidonCreate(KeycloakSession session, RealmModel realm, ComponentModel model) Called when UserStorageProviderModel is created.voidonUpdate(KeycloakSession session, RealmModel realm, ComponentModel oldModel, ComponentModel newModel) Called after the component is updated.voidpostInit(KeycloakSessionFactory factory) Called after all provider factories have been initializedvoidpreRemove(KeycloakSession session, RealmModel realm, ComponentModel model) Called before the component is removed.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.component.ComponentFactory
createMethods inherited from interface org.keycloak.provider.ConfiguredProvider
getConfigMethods inherited from interface org.keycloak.provider.ProviderFactory
dependsOn, getConfigMetadata, orderMethods inherited from interface org.keycloak.storage.UserStorageProviderFactory
getCommonProviderConfigProperties, getHelpText, getTypeMetadata, validateConfiguration
-
Field Details
-
PROVIDER_NAME
- See Also:
-
configProperties
-
-
Constructor Details
-
KerberosFederationProviderFactory
public KerberosFederationProviderFactory()
-
-
Method Details
-
create
Description copied from interface:UserStorageProviderFactorycalled per Keycloak transaction.- Specified by:
createin interfaceComponentFactory<KerberosFederationProvider,UserStorageProvider> - Specified by:
createin interfaceUserStorageProviderFactory<KerberosFederationProvider>
-
getId
Description copied from interface:UserStorageProviderFactoryThis is the name of the provider and will be showed in the admin console as an option.- Specified by:
getIdin interfaceProviderFactory<UserStorageProvider>- Specified by:
getIdin interfaceUserStorageProviderFactory<KerberosFederationProvider>
-
isSupported
Description copied from interface:EnvironmentDependentProviderFactoryCheck if the provider is supported and should be available based on the provider configuration.- Specified by:
isSupportedin interfaceEnvironmentDependentProviderFactory- Parameters:
config- the provider configuration- Returns:
trueif the provider is supported. Otherwise,false.
-
getConfigProperties
- Specified by:
getConfigPropertiesin interfaceConfiguredProvider- Specified by:
getConfigPropertiesin interfaceUserStorageProviderFactory<KerberosFederationProvider>
-
init
Description copied from interface:ProviderFactoryOnly called once when the factory is first created. This config is pulled from keycloak_server.json- Specified by:
initin interfaceProviderFactory<UserStorageProvider>- Specified by:
initin interfaceUserStorageProviderFactory<KerberosFederationProvider>
-
postInit
Description copied from interface:ProviderFactoryCalled after all provider factories have been initialized- Specified by:
postInitin interfaceProviderFactory<UserStorageProvider>- Specified by:
postInitin interfaceUserStorageProviderFactory<KerberosFederationProvider>
-
close
public void close()Description copied from interface:ProviderFactoryThis is called when the server shuts down.- Specified by:
closein interfaceProviderFactory<UserStorageProvider>- Specified by:
closein interfaceUserStorageProviderFactory<KerberosFederationProvider>
-
createSPNEGOAuthenticator
protected SPNEGOAuthenticator createSPNEGOAuthenticator(String spnegoToken, CommonKerberosConfig kerberosConfig) -
createKerberosSubjectAuthenticator
protected KerberosServerSubjectAuthenticator createKerberosSubjectAuthenticator(CommonKerberosConfig kerberosConfig) -
createKerberosUsernamePasswordAuthenticator
protected KerberosUsernamePasswordAuthenticator createKerberosUsernamePasswordAuthenticator(CommonKerberosConfig kerberosConfig) -
onCreate
Description copied from interface:UserStorageProviderFactoryCalled when UserStorageProviderModel is created. This allows you to do initialization of any additional configuration you need to add. For example, you may be introspecting a database or ldap schema to automatically create mappings.- Specified by:
onCreatein interfaceComponentFactory<KerberosFederationProvider,UserStorageProvider> - Specified by:
onCreatein interfaceUserStorageProviderFactory<KerberosFederationProvider>
-
onUpdate
public void onUpdate(KeycloakSession session, RealmModel realm, ComponentModel oldModel, ComponentModel newModel) Description copied from interface:ComponentFactoryCalled after the component is updated.- Specified by:
onUpdatein interfaceComponentFactory<KerberosFederationProvider,UserStorageProvider> oldModel- old saved modelnewModel- new configuration
-
preRemove
Description copied from interface:ComponentFactoryCalled before the component is removed.- Specified by:
preRemovein interfaceComponentFactory<KerberosFederationProvider,UserStorageProvider> model- model of the component, which is going to be removed
-