Merge remote branch 'tags/2.3.4'
[java-idp.git] / src / main / java / edu / internet2 / middleware / shibboleth / idp / session / Session.java
1 /*
2  * Licensed to the University Corporation for Advanced Internet Development, 
3  * Inc. (UCAID) under one or more contributor license agreements.  See the 
4  * NOTICE file distributed with this work for additional information regarding
5  * copyright ownership. The UCAID licenses this file to You under the Apache 
6  * License, Version 2.0 (the "License"); you may not use this file except in 
7  * compliance with the License.  You may obtain a copy of the License at
8  *
9  *    http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 package edu.internet2.middleware.shibboleth.idp.session;
19
20 import java.util.Map;
21
22 /**
23  * Session information for user logged into the IdP.
24  */
25 public interface Session extends edu.internet2.middleware.shibboleth.common.session.Session {
26
27     /** Name of the HTTP request attribute to which a users IdP session is bound. */
28     public static final String HTTP_SESSION_BINDING_ATTRIBUTE = "ShibbolethIdPSession";
29
30     /**
31      * A secret associated with this session.
32      * 
33      * @return secret associated with this session
34      */
35     public byte[] getSessionSecret();
36
37     /**
38      * Gets the methods by which the user has authenticated to the IdP.
39      * 
40      * @return methods by which the user has authenticated to the IdP
41      */
42     public Map<String, AuthenticationMethodInformation> getAuthenticationMethods();
43
44     /**
45      * Gets the services the user has logged in to.
46      * 
47      * @return services the user has logged in to
48      */
49     public Map<String, ServiceInformation> getServicesInformation();
50 }