Interface CredentialPersister


  • public interface CredentialPersister
    Within LDAP credentials could be stored in different ways, splitting out a CredentialPersister allows different strategies to be plugged into the realm.
    Author:
    Jan Kalina
    • Method Detail

      • getCredentialAcquireSupport

        SupportLevel getCredentialAcquireSupport​(Class<? extends Credential> credentialType,
                                                 String algorithmName,
                                                 AlgorithmParameterSpec parameterSpec)
                                          throws RealmUnavailableException
        Determine whether a given credential is definitely supported, possibly supported (for some identities), or definitely not supported.

        A DirContextFactory is made available if the directory server is going to be queried but most likely this call will need to be generic as querying a whole directory is not realistic.

        Note: The DirContextFactory approach will be evolved further for better referral support so it makes it easier for it to be passed in for each call.

        Parameters:
        credentialType - the credential type (must not be null)
        algorithmName - the credential algorithm name
        parameterSpec - the algorithm parameters to match, or null if any parameters are acceptable or the credential type does not support algorithm parameters
        Returns:
        the level of support for this credential type
        Throws:
        RealmUnavailableException
      • addRequiredIdentityAttributes

        default void addRequiredIdentityAttributes​(Collection<String> attributes)
        Construct set of LDAP attributes, which should be loaded as part of the identity from identity entry.
        Parameters:
        attributes - output collection of attributes names, into which should be added
      • addBinaryIdentityAttributes

        default void addBinaryIdentityAttributes​(Collection<String> attributes)
        Construct set of LDAP attributes, which should be loaded as binary data. Should be subset of CredentialLoader.addRequiredIdentityAttributes(java.util.Collection<java.lang.String>) output.
        Parameters:
        attributes - output collection of attributes names, into which should be added