Add optional, but on by default, check to ensure that IdP session cookie comes from...
[java-idp.git] / src / main / java / edu / internet2 / middleware / shibboleth / idp / session / Session.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.session;
18
19 import java.util.Map;
20
21 import javax.crypto.SecretKey;
22
23 /**
24  * Session information for user logged into the IdP.
25  */
26 public interface Session extends edu.internet2.middleware.shibboleth.common.session.Session {
27
28     /** Name of the HTTP request attribute to which a users IdP session is bound. */
29     public static final String HTTP_SESSION_BINDING_ATTRIBUTE = "ShibbolethIdPSession";
30     
31     /**
32      * A secret key associated with this session.
33      * 
34      * @return secret key associated with this session
35      */
36     public SecretKey getSessionSecretKey();
37
38     /**
39      * Gets the methods by which the user has authenticated to the IdP.
40      * 
41      * @return methods by which the user has authenticated to the IdP
42      */
43     public Map<String, AuthenticationMethodInformation> getAuthenticationMethods();
44
45     /**
46      * Gets the services the user has logged in to.
47      * 
48      * @return services the user has logged in to
49      */
50     public Map<String, ServiceInformation> getServicesInformation();
51 }