SingleSignOnEntry (Apache Tomcat 8.5.87 API Documentation)

Package org.apache.catalina.authenticator

## Class SingleSignOnEntry

- java.lang.Object
- - org.apache.catalina.authenticator.SingleSignOnEntry

- All Implemented Interfaces:
    `java.io.Serializable`

      public class SingleSignOnEntry
      extends java.lang.Object
      implements java.io.Serializable

  A class that represents entries in the cache of authenticated users. This is necessary to make it available to `AuthenticatorBase` subclasses that need it in order to perform reauthentications when SingleSignOn is in use.
  Author:
    B Stansberry, based on work by Craig R. McClanahan
  See Also:
    `SingleSignOn`, `AuthenticatorBase.reauthenticateFromSSO(java.lang.String, org.apache.catalina.connector.Request)`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SingleSignOnEntry​(java.security.Principal principal, java.lang.String authType, java.lang.String username, java.lang.String password)` | Creates a new SingleSignOnEntry

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addSession​(SingleSignOn sso, java.lang.String ssoId, Session session)` | Adds a `Session` to the list of those associated with this SSO.
    `java.util.Set<SingleSignOnSessionKey>` | `findSessions()` | Returns the HTTP Session identifiers associated with this SSO.
    `java.lang.String` | `getAuthType()` | Gets the name of the authentication type originally used to authenticate the user associated with the SSO.
    `boolean` | `getCanReauthenticate()` | Gets whether the authentication type associated with the original authentication supports reauthentication.
    `java.lang.String` | `getPassword()` | Gets the password credential (if any) associated with the SSO.
    `java.security.Principal` | `getPrincipal()` | Gets the `Principal` that has been authenticated by the SSO.
    `java.lang.String` | `getUsername()` | Gets the user name provided by the user as part of the authentication process.
    `void` | `removeSession​(Session session)` | Removes the given `Session` from the list of those associated with this SSO.
    `void` | `updateCredentials​(java.security.Principal principal, java.lang.String authType, java.lang.String username, java.lang.String password)` | Updates the SingleSignOnEntry to reflect the latest security information associated with the caller.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SingleSignOnEntry

          public SingleSignOnEntry​(java.security.Principal principal,
                                   java.lang.String authType,
                                   java.lang.String username,
                                   java.lang.String password)

      Creates a new SingleSignOnEntry
      Parameters:
        `principal` - the `Principal` returned by the latest call to `Realm.authenticate`.
        `authType` - the type of authenticator used (BASIC, CLIENT_CERT, DIGEST or FORM)
        `username` - the username (if any) used for the authentication
        `password` - the password (if any) used for the authentication

  - ### Method Detail

    - #### addSession

          public void addSession​(SingleSignOn sso,
                                 java.lang.String ssoId,
                                 Session session)

      Adds a `Session` to the list of those associated with this SSO.
      Parameters:
        `sso` - The `SingleSignOn` valve that is managing the SSO session.
        `ssoId` - The ID of the SSO session.
        `session` - The `Session` being associated with the SSO.

    - #### removeSession

          public void removeSession​(Session session)

      Removes the given `Session` from the list of those associated with this SSO.
      Parameters:
        `session` - the `Session` to remove.

    - #### findSessions

          public java.util.Set<SingleSignOnSessionKey> findSessions()

      Returns the HTTP Session identifiers associated with this SSO.
      Returns:
        The identifiers for the HTTP sessions that are current associated with this SSo entry

    - #### getAuthType

          public java.lang.String getAuthType()

      Gets the name of the authentication type originally used to authenticate the user associated with the SSO.
      Returns:
        "BASIC", "CLIENT_CERT", "DIGEST", "FORM" or "NONE"

    - #### getCanReauthenticate

          public boolean getCanReauthenticate()

      Gets whether the authentication type associated with the original authentication supports reauthentication.
      Returns:
        `true` if `getAuthType` returns "BASIC" or "FORM", `false` otherwise.

    - #### getPassword

          public java.lang.String getPassword()

      Gets the password credential (if any) associated with the SSO.
      Returns:
        the password credential associated with the SSO, or `null` if the original authentication type does not involve a password.

    - #### getPrincipal

          public java.security.Principal getPrincipal()

      Gets the `Principal` that has been authenticated by the SSO.
      Returns:
        The Principal that was created by the authentication that triggered the creation of the SSO entry

    - #### getUsername

          public java.lang.String getUsername()

      Gets the user name provided by the user as part of the authentication process.
      Returns:
        The user name that was authenticated as part of the authentication that triggered the creation of the SSO entry

    - #### updateCredentials

          public void updateCredentials​(java.security.Principal principal,
                                        java.lang.String authType,
                                        java.lang.String username,
                                        java.lang.String password)

      Updates the SingleSignOnEntry to reflect the latest security information associated with the caller.
      Parameters:
        `principal` - the `Principal` returned by the latest call to `Realm.authenticate`.
        `authType` - the type of authenticator used (BASIC, CLIENT_CERT, DIGEST or FORM)
        `username` - the username (if any) used for the authentication
        `password` - the password (if any) used for the authentication