All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.cesecore.authentication.tokens.AuthenticationProvider Maven / Gradle / Ivy

/*************************************************************************
 *                                                                       *
 *  CESeCore: CE Security Core                                           *
 *                                                                       *
 *  This software is free software; you can redistribute it and/or       *
 *  modify it under the terms of the GNU Lesser General Public           *
 *  License as published by the Free Software Foundation; either         *
 *  version 2.1 of the License, or any later version.                    *
 *                                                                       *
 *  See terms of license at gnu.org.                                     *
 *                                                                       *
 *************************************************************************/
package org.cesecore.authentication.tokens;

import java.io.Serializable;

/**
 * This is a callback interface that provides a method of authentication for a subject. It should be implemented by whatever EJB Session bean (outside
 * of CESeCore) that perform local authentication.
 * 
 * @version $Id: AuthenticationProvider.java 18305 2013-12-16 13:59:56Z anatom $
 * 
 */
public interface AuthenticationProvider extends Serializable {

    static final String DEFAULT_DN = "C=SE,O=Test,CN=Test"; // default
    
    /**
     * Implement this method to authenticate a subject using its principals and credentials. The method of doing this operation is entirely up to
     * whoever implements this API. The returned AuthenticationToken should only contain those principals and credentials which were actually used in
     * the authentication process.
     * 
     * @param subject an AuthenticationSubject containing a set if principals and/or a set of credentials, the contents required depends in the implementation of this method.
     * @return an AuthenticationToken if the subject was authenticated, null otherwise.
     */
    AuthenticationToken authenticate(AuthenticationSubject subject);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy