Package com.sun.identity.saml2.profile
Class IDPCache
- java.lang.Object
-
- com.sun.identity.saml2.profile.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 Summary
Fields Modifier and Type Field Description static PeriodicCleanUpMapassertionByIDCacheCache saves the assertion objects.static HashtableassertionCacheCache saves the assertion objects.static HashtableauthnContextCacheCache saves informate needed to determine the Authentication Context of the incoming request from Service Provider.static PeriodicCleanUpMapauthnRequestCacheCache saves the authn request objects.static HashtableclassRefLevelHashHashtable saves AuthnContextClassRef to AuthLevel mapping key : hostEntityID + "|" + realmName value: Map containing AuthnContext class ref as Key and authLevel as value.static HashtableclassRefSchemesHashHashtable saves AuthnContextClassRef to auth schems mapping key : hostEntityID + "|" + realmName value: Map containing AuthnContext class ref as Key and Set of auth schemes as value.static HashtabledefaultClassRefHashHashtable saves AuthLevel to AuthnContextClassRef mapping key : hostEntityID + "|" + realmName value: String default AuthnContext Class Ref.static Map<String,Map<String,String>>formatAttributeHashHashtable 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.static HashtableidpAccountMapperCacheCache saves the idp account mapper.static HashtableidpAdapterCacheCache saves the IDP Adapter.static HashtableidpAttributeMapperCacheCache saves the idp attribute mapper.static PeriodicCleanUpMapidpAuthnContextCacheCache saves the authn context objects before IDP redirects user to authentication.static HashtableidpAuthnContextMapperCacheCache saves the idp authn context mapper.static HashtableidpECPSessionMapperCacheCache saves the idp ecp session mapper.static HashtableidpProxyFinderCacheCache saves the IDP Proxy Finder.static Hashtable<String,IDPSession>idpSessionsByIndicesCache saves the idp sessions.static Hashtable<String,IDPSession>idpSessionsBySessionIDCache saves the IDPSession per session ID.static SetisSessionUpgradeCacheCache saves information to determine if the request was a session upgrade case.static PeriodicCleanUpMaplogoutRequestByIdCache to save LogoutRequests by their ID for later retrieval.static PeriodicCleanUpMaplogoutResponseCacheCache saves the original LogoutResponse generated by IDP proxy to the IDP key : requestID (String) value : Map keeping LogoutResponse, sending location, spEntityID and idpEntityID.static PeriodicCleanUpMapmniRequestHashHashtable saves the MNI request info.static HashtableoldIDPSessionCacheCache saves the IDP Session object before an session upgrade.static PeriodicCleanUpMapproxySPAuthnReqCacheCache saves the original AuthnRequest coming from SP to IDP proxy key : requestID (String) value : AuthnRequeststatic PeriodicCleanUpMapproxySPLogoutReqCacheCache saves the original LogoutRequest coming from SP to IDP proxy key : requestID (String) value : LogoutRequeststatic PeriodicCleanUpMaprelayStateCacheCache saves the relay state strings.static PeriodicCleanUpMapresponseCacheCache saves information needed after coming back from COT cookie setting.static PeriodicCleanUpMapresponsesByArtifactsCache saves Responses to be used by ArtifactResolutionService.static PeriodicCleanUpMapSOAPMessageByLogoutRequestIDCache saves the SOAPMessage created by proxy IDP to the original SP key : requestID (String) value : SOAPMessagestatic Hashtable<String,String>spSessionPartnerBySessionIDCache saves the SAML2 Session Partner's providerID key : sessionId (String) value : SAML2 SessionPartner's provider idstatic HashtableuserIDByTransientNameIDValueCache saves user ID for transient NameID key : NameID value (String) value : user ID
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidclear(String realmName)Clears the authn context mapping hash tables.
-
-
-
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.
-
-
Method Detail
-
clear
public static void clear(String realmName)
Clears the authn context mapping hash tables.- Parameters:
realmName- Organization or Realm
-
-