Class IDPCache


  • public class IDPCache
    extends Object
    This class caches authn request objects and relay states based on the request id of the authn requests It also caches idp session by session index. TODO: Add cleanup thread to update IDP Cache if the cached objects stay in the cache longer than a certain Cache Duration.
    • Field Detail

      • authnRequestCache

        public static PeriodicCleanUpMap authnRequestCache
        Cache saves the authn request objects. Key : request ID String Value : AuthnRequest object TODO : handle the case when assertion effective time is different from cleanup interval
      • idpAuthnContextCache

        public static PeriodicCleanUpMap idpAuthnContextCache
        Cache saves the authn context objects before IDP redirects user to authentication. Key : request ID String Value : AuthnContext object
      • assertionCache

        public static Hashtable assertionCache
        Cache saves the assertion objects. Key : user ID String Value : list of assertion objects
      • assertionByIDCache

        public static PeriodicCleanUpMap assertionByIDCache
        Cache saves the assertion objects. Key : assertion ID String Value : assertion object
      • relayStateCache

        public static PeriodicCleanUpMap relayStateCache
        Cache saves the relay state strings. Key : request ID String Value : relay state string
      • idpSessionsByIndices

        public static Hashtable<String,​IDPSession> idpSessionsByIndices
        Cache saves the idp sessions. key : sessionIndex (String) value :IDPSession IDP: used in SingleSignOnService and SingleLogoutService to invalidate a specific session
      • responsesByArtifacts

        public static PeriodicCleanUpMap responsesByArtifacts
        Cache saves Responses to be used by ArtifactResolutionService. key --- artifact string (after encoding and all that) value --- Response IDP: used in SingleSignOnService and ArtifactResolutionService TODO : handle the case when artifact expiration time is different from cleanup interval
      • mniRequestHash

        public static PeriodicCleanUpMap mniRequestHash
        Hashtable saves the MNI request info. Key : requestID String Value : ManageNameIDRequestInfo object
      • idpAttributeMapperCache

        public static Hashtable idpAttributeMapperCache
        Cache saves the idp attribute mapper. Key : idp attribute mapper class name Value : idp attribute mapper object
      • idpAccountMapperCache

        public static Hashtable idpAccountMapperCache
        Cache saves the idp account mapper. Key : idp account mapper class name Value : idp account mapper object
      • idpAuthnContextMapperCache

        public static Hashtable idpAuthnContextMapperCache
        Cache saves the idp authn context mapper. Key : idp authn context mapper class name Value : idp authn context mapper object
      • idpECPSessionMapperCache

        public static Hashtable idpECPSessionMapperCache
        Cache saves the idp ecp session mapper. Key : idp ecp session mapper class name Value : idp ecp session mapper object
      • idpProxyFinderCache

        public static Hashtable idpProxyFinderCache
        Cache saves the IDP Proxy Finder. Key : IDP Proxy Finder class name Value : IDP Proxy Finder mapper object
      • idpAdapterCache

        public static Hashtable idpAdapterCache
        Cache saves the IDP Adapter. Key : IDP Adapter class name Value : IDP Adapter mapper object
      • responseCache

        public static PeriodicCleanUpMap responseCache
        Cache saves information needed after coming back from COT cookie setting. key --- cachedResID (String) value --- Response Information List (ArrayList of size 9) IDP: used in SingleSignOnService and ArtifactResolutionService
      • authnContextCache

        public static Hashtable authnContextCache
        Cache saves informate needed to determine the Authentication Context of the incoming request from Service Provider. key : sessionIndex (String) value : the AuthnContext object
      • isSessionUpgradeCache

        public static Set isSessionUpgradeCache
        Cache saves information to determine if the request was a session upgrade case. key : requestID (String) value : session upgrade (Boolean)
      • oldIDPSessionCache

        public static Hashtable oldIDPSessionCache
        Cache saves the IDP Session object before an session upgrade. key : requestID (String) value : IDPSession object.
      • proxySPAuthnReqCache

        public static PeriodicCleanUpMap proxySPAuthnReqCache
        Cache saves the original AuthnRequest coming from SP to IDP proxy key : requestID (String) value : AuthnRequest
      • idpSessionsBySessionID

        public static Hashtable<String,​IDPSession> idpSessionsBySessionID
        Cache saves the IDPSession per session ID. key : sessionId (String) value : IDPSession
      • userIDByTransientNameIDValue

        public static Hashtable userIDByTransientNameIDValue
        Cache saves user ID for transient NameID key : NameID value (String) value : user ID
      • proxySPLogoutReqCache

        public static PeriodicCleanUpMap proxySPLogoutReqCache
        Cache saves the original LogoutRequest coming from SP to IDP proxy key : requestID (String) value : LogoutRequest
      • logoutRequestById

        public static PeriodicCleanUpMap logoutRequestById
        Cache to save LogoutRequests by their ID for later retrieval. key: ID attribute value of the LogoutRequest as String. value: LogoutRequest
      • SOAPMessageByLogoutRequestID

        public static PeriodicCleanUpMap SOAPMessageByLogoutRequestID
        Cache saves the SOAPMessage created by proxy IDP to the original SP key : requestID (String) value : SOAPMessage
      • spSessionPartnerBySessionID

        public static Hashtable<String,​String> spSessionPartnerBySessionID
        Cache saves the SAML2 Session Partner's providerID key : sessionId (String) value : SAML2 SessionPartner's provider id
      • logoutResponseCache

        public static PeriodicCleanUpMap logoutResponseCache
        Cache saves the original LogoutResponse generated by IDP proxy to the IDP key : requestID (String) value : Map keeping LogoutResponse, sending location, spEntityID and idpEntityID.
      • classRefSchemesHash

        public static Hashtable classRefSchemesHash
        Hashtable saves AuthnContextClassRef to auth schems mapping key : hostEntityID + "|" + realmName value: Map containing AuthnContext class ref as Key and Set of auth schemes as value.
      • classRefLevelHash

        public static Hashtable classRefLevelHash
        Hashtable saves AuthnContextClassRef to AuthLevel mapping key : hostEntityID + "|" + realmName value: Map containing AuthnContext class ref as Key and authLevel as value.
      • defaultClassRefHash

        public static Hashtable defaultClassRefHash
        Hashtable saves AuthLevel to AuthnContextClassRef mapping key : hostEntityID + "|" + realmName value: String default AuthnContext Class Ref.
      • formatAttributeHash

        public static final Map<String,​Map<String,​String>> formatAttributeHash
        Hashtable saves NameID format to user profile attribute mapping key : hostEntityID + "|" + realm value: Map containing NameNameID format as Key and user profile attribute name as Value.
    • Method Detail

      • clear

        public static void clear​(String realmName)
        Clears the authn context mapping hash tables.
        Parameters:
        realmName - Organization or Realm