Correct method name
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / idp / authn / AuthenticationHandler.java
1 /*
2  * Copyright [2006] [University Corporation for Advanced Internet Development, Inc.]
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package edu.internet2.middleware.shibboleth.idp.authn;
18
19 import javax.servlet.RequestDispatcher;
20 import javax.servlet.http.HttpServletRequest;
21 import javax.servlet.http.HttpServletResponse;
22 import javax.servlet.http.HttpSession;
23
24 /**
25  * Authentication handlers are responsible for authenticating a user using a particular authentication context class.
26  * 
27  * Upon successfull authentication the handler <strong>must</strong> set an {@link HttpSession} attribute called
28  * "principal" with the principal name of the authenticated user and forward the request response to provided return
29  * location by means of the
30  * {@link RequestDispatcher#forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse)} method.
31  */
32 public interface AuthenticationHandler {
33
34     /**
35      * Authenticates the user making the request.
36      * 
37      * @param request user request
38      * @param response response to use
39      * @param passive whether the authentication must be passive
40      */
41     public void authenticate(HttpServletRequest request, HttpServletResponse response, boolean passive);
42
43     /**
44      * Gets whether this handler supports passive authentication.
45      * 
46      * @return whether this handler supports passive authentication
47      */
48     public boolean supportsPassive();
49
50     /**
51      * Gets the authentication context class supported by this handler.
52      * 
53      * @return authentication context class supported by this handler
54      */
55     public String getAuthenticationContextClass();
56
57     /**
58      * Sets the location to return the user to once authenticated.
59      * 
60      * @param location location to return the user to once authenticated
61      */
62     public void setReturnLocation(String location);
63 }