view src/main/java/edu/harvard/iq/dataverse/authorization/AuthenticationProvider.java @ 13:d3374217e19e

url config for LGMap
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Wed, 30 Sep 2015 13:55:57 +0200
parents a50cf11e5178
children
line wrap: on
line source

package edu.harvard.iq.dataverse.authorization;

import edu.harvard.iq.dataverse.authorization.users.AuthenticatedUser;

/**
 * Objects that can authenticate users - for credentials, they provide persistent user id that can be used to
 * lookup an {@link AuthenticatedUser} using {@link AuthenticatedUserLookup} objects.
 * 
 * {@code AuthenticationPrvider}s are normally registered at startup in {@link AuthenticationServiceBean#startup()}.
 * 
 * @author michael
 */
public interface AuthenticationProvider {
    
    public String getId();
    
    public AuthenticationProviderDisplayInfo getInfo();
    
    /**
     * The main method of this interface - provide a consistent user id, within
     * the scope of this provider, for a user based on the request content.
     * @param request All information needed to decide whether the user can be authenticated.
     * @return response with the result of the authentication process.
     */
    public AuthenticationResponse authenticate( AuthenticationRequest request );

}