View Javadoc

    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.io.Serializable;
    20  import java.security.Principal;
    21
    22  import javax.security.auth.Subject;
    23
    24  import org.joda.time.DateTime;
    25
    26  /** Information about an authentication method employed by a user. */
    27  public interface AuthenticationMethodInformation extends Serializable {
    28
    29      /**
    30       * Gets the Subject created by this authentication method.
    31       *
    32       * @return subject created by this authentication method
    33       *
    34       * @deprecated use {@link Session#getSubject()}
    35       */
    36      public Subject getAuthenticationSubject();
    37
    38      /**
    39       * Gets the principal, for the {@link Subject} of the session, created by this authentication method.
    40       *
    41       * @return principal created by this authentication method
    42       */
    43      public Principal getAuthenticationPrincipal();
    44
    45      /**
    46       * Gets the unique identifier for the authentication method.
    47       *
    48       * @return unique identifier for the authentication method
    49       */
    50      public String getAuthenticationMethod();
    51
    52      /**
    53       * Gets the time the user authenticated with this member.
    54       *
    55       * @return time the user authenticated with this member
    56       */
    57      public DateTime getAuthenticationInstant();
    58
    59      /**
    60       * Gets the duration of this authentication method.
    61       *
    62       * @return duration of this authentication method
    63       */
    64      public long getAuthenticationDuration();
    65
    66      /**
    67       * Gets whether this authentication method has expired and is not longer valid for use in constructing new sessions.
    68       *
    69       * @return whether this authentication method has expired
    70       */
    71      public boolean isExpired();
    72  }