Class SAML2SPSession

java.lang.Object
net.shibboleth.idp.session.BasicSPSession
net.shibboleth.idp.saml.session.SAML2SPSession
All Implemented Interfaces:
SPSession, SPSessionEx, Component, IdentifiedComponent

public class SAML2SPSession extends BasicSPSession implements SPSessionEx
Extends a BasicSPSession with SAML 2.0 information required for reverse lookup in the case of a logout.
  • Field Details

    • nameID

      @Nonnull private final NameID nameID
      The NameID asserted to the SP.
    • sessionIndex

      @Nonnull @NotEmpty private final String sessionIndex
      The SessionIndex asserted to the SP.
    • acsLocation

      @Nullable @NotEmpty private final String acsLocation
      The ACS location used for the associated response.
    • supportsLogoutPropagation

      private final boolean supportsLogoutPropagation
      Whether logout propagation is possible.
  • Constructor Details

    • SAML2SPSession

      @Deprecated(since="4.2.0", forRemoval=true) public SAML2SPSession(@Nonnull @NotEmpty String id, @Nonnull Instant creation, @Nonnull Instant expiration, @Nonnull NameID assertedNameID, @Nonnull @NotEmpty String assertedIndex)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Constructor.
      Parameters:
      id - the identifier of the service associated with this session
      creation - creation time of session
      expiration - expiration time of session
      assertedNameID - the NameID asserted to the SP
      assertedIndex - the SessionIndex asserted to the SP
    • SAML2SPSession

      public SAML2SPSession(@Nonnull @NotEmpty String id, @Nonnull Instant creation, @Nonnull Instant expiration, @Nonnull NameID assertedNameID, @Nonnull @NotEmpty String assertedIndex, @Nullable @NotEmpty String acsLoc, boolean supportsLogoutProp)
      Constructor.
      Parameters:
      id - the identifier of the service associated with this session
      creation - creation time of session
      expiration - expiration time of session
      assertedNameID - the NameID asserted to the SP
      assertedIndex - the SessionIndex asserted to the SP
      acsLoc - the response endpoint used
      supportsLogoutProp - whether the session supports logout propagation
  • Method Details

    • getNameID

      @Nonnull public NameID getNameID()
      Get the NameID asserted to the SP.
      Returns:
      the asserted NameID
    • getSessionIndex

      @Nonnull @NotEmpty public String getSessionIndex()
      Get the SessionIndex value asserted to the SP.
      Returns:
      the SessionIndex value
    • getSPSessionKey

      @Nullable public String getSPSessionKey()
      Get a unique key identifying this subject's session with the service.

      This will vary based on the type of session, typically based on the protocol used, but it provides a secondary lookup key that may be required in support of other use cases involving that protocol. Not all protocols may require such a key, so null may be returned.

      Specified by:
      getSPSessionKey in interface SPSession
      Overrides:
      getSPSessionKey in class BasicSPSession
      Returns:
      a unique key identifying this subject's session with the service, or null
    • getProtocol

      @Nullable @NotEmpty public String getProtocol()
      Get a prototocol constant for the session suitable for metadata lookup.
      Specified by:
      getProtocol in interface SPSessionEx
      Returns:
      a protocol constant
    • getACSLocation

      @Nullable @NotEmpty public String getACSLocation()
      Get the ACS location used for the response that produced this session.
      Returns:
      ACS location
    • supportsLogoutPropagation

      public boolean supportsLogoutPropagation()
      Gets whether the session allows for logout propagation.
      Specified by:
      supportsLogoutPropagation in interface SPSessionEx
      Returns:
      whether the session allows for logout propagation
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class BasicSPSession
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class BasicSPSession
    • toString

      public String toString()
      Overrides:
      toString in class BasicSPSession