Package org.keycloak.federation.sssd
Class SSSDFederationProvider
java.lang.Object
org.keycloak.federation.sssd.SSSDFederationProvider
- All Implemented Interfaces:
CredentialInputUpdater,CredentialInputValidator,Provider,ImportedUserValidation,UserLookupProvider,UserStorageProvider
public class SSSDFederationProvider
extends Object
implements UserStorageProvider, UserLookupProvider, CredentialInputUpdater, CredentialInputValidator, ImportedUserValidation
SPI provider implementation to retrieve data from SSSD and authenticate
against PAM
- Version:
- $Revision: 1 $
- Author:
- Bruno Oliveira
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.keycloak.storage.UserStorageProvider
UserStorageProvider.EditMode -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionSSSDFederationProvider(KeycloakSession session, UserStorageProviderModel model, SSSDFederationProviderFactory sssdFederationProviderFactory) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()voiddisableCredentialType(RealmModel realm, UserModel user, String credentialType) protected UserModelfindOrCreateAuthenticatedUser(RealmModel realm, String username) Called after successful authenticationgetDisableableCredentialTypesStream(RealmModel realm, UserModel user) getUserByEmail(RealmModel realm, String email) getUserById(RealmModel realm, String id) getUserByUsername(RealmModel realm, String username) protected UserModelimportUserToKeycloak(RealmModel realm, String username) booleanisConfiguredFor(RealmModel realm, UserModel user, String credentialType) booleanisValid(RealmModel realm, UserModel local) booleanisValid(RealmModel realm, UserModel user, CredentialInput input) voidpreRemove(RealmModel realm) voidpreRemove(RealmModel realm, GroupModel group) voidpreRemove(RealmModel realm, RoleModel role) booleansupportsCredentialType(String credentialType) booleanupdateCredential(RealmModel realm, UserModel user, CredentialInput input) validate(RealmModel realm, UserModel user) validateAndProxy(RealmModel realm, UserModel local) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.storage.user.UserLookupProvider
getUserByCredential
-
Field Details
-
supportedCredentialTypes
-
session
-
model
-
-
Constructor Details
-
SSSDFederationProvider
public SSSDFederationProvider(KeycloakSession session, UserStorageProviderModel model, SSSDFederationProviderFactory sssdFederationProviderFactory)
-
-
Method Details
-
getUserByUsername
- Specified by:
getUserByUsernamein interfaceUserLookupProvider
-
validate
- Specified by:
validatein interfaceImportedUserValidation
-
findOrCreateAuthenticatedUser
Called after successful authentication- Parameters:
realm- realmusername- username without realm prefix- Returns:
- user if found or successfully created. Null if user with same username already exists, but is not linked to this provider
-
importUserToKeycloak
-
getUserById
- Specified by:
getUserByIdin interfaceUserLookupProvider
-
getUserByEmail
- Specified by:
getUserByEmailin interfaceUserLookupProvider
-
preRemove
- Specified by:
preRemovein interfaceUserStorageProvider
-
preRemove
- Specified by:
preRemovein interfaceUserStorageProvider
-
preRemove
- Specified by:
preRemovein interfaceUserStorageProvider
-
isValid
-
supportsCredentialType
- Specified by:
supportsCredentialTypein interfaceCredentialInputUpdater- Specified by:
supportsCredentialTypein interfaceCredentialInputValidator
-
isConfiguredFor
- Specified by:
isConfiguredForin interfaceCredentialInputValidator
-
isValid
- Specified by:
isValidin interfaceCredentialInputValidator
-
validateAndProxy
-
close
public void close() -
updateCredential
- Specified by:
updateCredentialin interfaceCredentialInputUpdater
-
disableCredentialType
- Specified by:
disableCredentialTypein interfaceCredentialInputUpdater
-
getDisableableCredentialTypesStream
- Specified by:
getDisableableCredentialTypesStreamin interfaceCredentialInputUpdater
-