Class DefaultSingleSignOnSession
- java.lang.Object
-
- org.wildfly.security.http.util.sso.DefaultSingleSignOnSession
-
- All Implemented Interfaces:
AutoCloseable,IdentityCache,SingleSignOnSession
public class DefaultSingleSignOnSession extends Object implements SingleSignOnSession
SingleSignOnSessionthat delegates its persistence strategy to aSingleSignOnManager.SingleSignOnentries are created lazily in response toput(SecurityIdentity).
This implementation supports single logout in order to invalidate local sessions for each participant of a single sign-on session, where participants represent the applications with active sessions associated with a given single sign-on session.- Author:
- Paul Ferraro
-
-
Field Summary
Fields Modifier and Type Field Description private SingleSignOnSessionContextcontextprivate static StringLOGOUT_REQUEST_PARAMETERprivate ConcurrentMap<Boolean,SingleSignOn>mapprivate HttpServerRequestrequestprivate static StringSESSION_INVALIDATING_ATTRIBUTEprivate static BooleanSINGLE_SIGN_ON_KEYprivate Function<SecurityIdentity,SingleSignOn>ssoFactory
-
Constructor Summary
Constructors Constructor Description DefaultSingleSignOnSession(SingleSignOnSessionContext context, HttpServerRequest request, String mechanismName, boolean programmatic)DefaultSingleSignOnSession(SingleSignOnSessionContext context, HttpServerRequest request, SingleSignOn sso)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes any resources associated with this single sign-on session.CachedIdentityget()Returns an identity previously cached.private static CachedIdentitygetCachedIdentity(SingleSignOn sso)StringgetId()The identifier associated with this session.(package private) voidinvalidateLocalSession(HttpScope scope)booleanlogout()Performs a local logout if the incoming request is a logout message, otherwise do nothing.voidput(SecurityIdentity identity)Puts aSecurityIdentityinto the cache.CachedIdentityremove()Removes an identity from the cache.
-
-
-
Field Detail
-
LOGOUT_REQUEST_PARAMETER
private static final String LOGOUT_REQUEST_PARAMETER
- See Also:
- Constant Field Values
-
SESSION_INVALIDATING_ATTRIBUTE
private static final String SESSION_INVALIDATING_ATTRIBUTE
-
SINGLE_SIGN_ON_KEY
private static final Boolean SINGLE_SIGN_ON_KEY
-
request
private final HttpServerRequest request
-
map
private final ConcurrentMap<Boolean,SingleSignOn> map
-
context
private final SingleSignOnSessionContext context
-
ssoFactory
private final Function<SecurityIdentity,SingleSignOn> ssoFactory
-
-
Constructor Detail
-
DefaultSingleSignOnSession
public DefaultSingleSignOnSession(SingleSignOnSessionContext context, HttpServerRequest request, String mechanismName, boolean programmatic)
-
DefaultSingleSignOnSession
public DefaultSingleSignOnSession(SingleSignOnSessionContext context, HttpServerRequest request, SingleSignOn sso)
-
-
Method Detail
-
getId
public String getId()
Description copied from interface:SingleSignOnSessionThe identifier associated with this session.- Specified by:
getIdin interfaceSingleSignOnSession- Returns:
- identifier associated with this session
-
get
public CachedIdentity get()
Description copied from interface:IdentityCacheReturns an identity previously cached.- Specified by:
getin interfaceIdentityCache- Returns:
- the cached identity or
nullif there is no identity in the cache
-
put
public void put(SecurityIdentity identity)
Description copied from interface:IdentityCachePuts aSecurityIdentityinto the cache.- Specified by:
putin interfaceIdentityCache- Parameters:
identity- the identity to cache (notnull)
-
remove
public CachedIdentity remove()
Description copied from interface:IdentityCacheRemoves an identity from the cache.- Specified by:
removein interfaceIdentityCache- Returns:
- the cached identity or
nullif there is no identity in the cache
-
logout
public boolean logout()
Description copied from interface:SingleSignOnSessionPerforms a local logout if the incoming request is a logout message, otherwise do nothing.- Specified by:
logoutin interfaceSingleSignOnSession- Returns:
trueif local session was invalidated. Otherwise,false
-
close
public void close()
Description copied from interface:SingleSignOnSessionCloses any resources associated with this single sign-on session.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceSingleSignOnSession
-
invalidateLocalSession
void invalidateLocalSession(HttpScope scope)
-
getCachedIdentity
private static CachedIdentity getCachedIdentity(SingleSignOn sso)
-
-