Package io.jans.as.server.service
Class SessionIdService
java.lang.Object
io.jans.as.server.service.SessionIdService
- Version:
- December 8, 2018
- Author:
- Yuriy Zabrovarnyy, Yuriy Movchan, Javier Rojas Blum
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionacrValuesList(String acrValues) By definition we expects space separated acr values as it is defined in spec.io.jans.as.common.model.session.SessionIdassertAuthenticatedSessionCorrespondsToNewRequest(io.jans.as.common.model.session.SessionId session, String acrValuesStr) computeSessionState(io.jans.as.common.model.session.SessionId sessionId, String clientId, String redirectUri) voidexternalEvent(SessionEvent event) List<io.jans.as.common.model.session.SessionId>findByUser(String userDn) io.jans.as.common.model.session.SessionIdgenerateAuthenticatedSessionId(jakarta.servlet.http.HttpServletRequest httpRequest, String userDn) io.jans.as.common.model.session.SessionIdgenerateAuthenticatedSessionId(jakarta.servlet.http.HttpServletRequest httpRequest, String userDn, String prompt) io.jans.as.common.model.session.SessionIdgenerateAuthenticatedSessionId(jakarta.servlet.http.HttpServletRequest httpRequest, String userDn, Map<String, String> sessionIdAttributes) io.jans.as.common.model.session.SessionIdio.jans.as.common.model.session.SessionIdgenerateUnauthenticatedSessionId(String userDn, Date authenticationDate, io.jans.as.common.model.session.SessionIdState state, Map<String, String> sessionIdAttributes, boolean persist) getAcr(io.jans.as.common.model.session.SessionId session) Set<io.jans.as.common.model.session.SessionId>intgetSessionAttributes(io.jans.as.common.model.session.SessionId sessionId) @Nullable io.jans.as.common.model.session.SessionIdgetSessionByDeviceSecret(@Nullable String deviceSecret) @Nullable io.jans.as.common.model.session.SessionIdgetSessionByDn(@Nullable String dn) @Nullable io.jans.as.common.model.session.SessionIdgetSessionByDn(@Nullable String dn, boolean silently) @Nullable io.jans.as.common.model.session.SessionIdgetSessionById(@Nullable String sessionId, boolean silently) @Nullable io.jans.as.common.model.session.SessionIdgetSessionBySid(@Nullable String sid) io.jans.as.common.model.session.SessionIdio.jans.as.common.model.session.SessionIdgetSessionId(jakarta.servlet.http.HttpServletRequest request) io.jans.as.common.model.session.SessionIdgetSessionId(String sessionId) io.jans.as.common.model.session.SessionIdgetSessionId(String sessionId, boolean silently) io.jans.as.common.model.common.UsergetUser(io.jans.as.common.model.session.SessionId sessionId) booleanhasAllScopes(io.jans.as.common.model.session.SessionId sessionId, Set<String> scopes) static booleanhasAllScopes(String existingScopes, Set<String> scopes) booleanhasClientAllScopes(io.jans.as.common.model.session.SessionId sessionId, String clientId, Set<String> scopes) static booleanisAgamaInSessionAndRequest(String sessionAcr, List<String> acrValuesList) booleanisExpired(io.jans.as.common.model.session.SessionId sessionId) booleanisSessionIdAuthenticated(io.jans.as.common.model.session.SessionId sessionId) booleanisSessionValid(io.jans.as.common.model.session.SessionId sessionId) @Nullable io.jans.as.common.model.session.SessionIdloadSessionByDn(@Nullable String dn, boolean silently) Loads session by dn without local cache@Nullable io.jans.as.common.model.session.SessionIdloadSessionById(@Nullable String sessionId) Loads session by id without local cache@Nullable io.jans.as.common.model.session.SessionIdloadSessionById(@Nullable String sessionId, boolean silently) Loads session by id without local cachebooleanpersistSessionId(io.jans.as.common.model.session.SessionId sessionId) booleanpersistSessionId(io.jans.as.common.model.session.SessionId sessionId, boolean forcePersistence) booleanpersistSessionId(io.jans.as.common.model.session.SessionId sessionId, boolean forcePersistence, boolean silent) booleanreinitLogin(io.jans.as.common.model.session.SessionId session, boolean force) booleanremove(io.jans.as.common.model.session.SessionId sessionId) voidio.jans.as.common.model.session.SessionIdresetToStep(io.jans.as.common.model.session.SessionId session, int resetToStep) io.jans.as.common.model.session.SessionIdsetSessionIdStateAuthenticated(jakarta.servlet.http.HttpServletRequest httpRequest, jakarta.servlet.http.HttpServletResponse httpResponse, io.jans.as.common.model.session.SessionId sessionId, String userDn) voidupdateAttributesWithUserClaims(Map<String, String> sessionAttributes, io.jans.as.common.model.common.User user) booleanupdateSessionId(io.jans.as.common.model.session.SessionId sessionId) booleanupdateSessionId(io.jans.as.common.model.session.SessionId sessionId, boolean updateLastUsedAt) booleanupdateSessionId(io.jans.as.common.model.session.SessionId sessionId, boolean updateLastUsedAt, boolean forceUpdate, boolean modified) voidupdateSessionIdIfNeeded(io.jans.as.common.model.session.SessionId sessionId, boolean modified)
-
Constructor Details
-
SessionIdService
public SessionIdService()
-
-
Method Details
-
getCurrentSessions
-
getAcr
-
isAgamaInSessionAndRequest
-
assertAuthenticatedSessionCorrespondsToNewRequest
public io.jans.as.common.model.session.SessionId assertAuthenticatedSessionCorrespondsToNewRequest(io.jans.as.common.model.session.SessionId session, String acrValuesStr) throws AcrChangedException - Throws:
AcrChangedException
-
reinitLogin
public boolean reinitLogin(io.jans.as.common.model.session.SessionId session, boolean force) - Parameters:
session-force-- Returns:
- returns whether session was updated
-
resetToStep
public io.jans.as.common.model.session.SessionId resetToStep(io.jans.as.common.model.session.SessionId session, int resetToStep) -
getSessionId
public io.jans.as.common.model.session.SessionId getSessionId() -
getSessionAttributes
-
generateAuthenticatedSessionId
public io.jans.as.common.model.session.SessionId generateAuthenticatedSessionId(jakarta.servlet.http.HttpServletRequest httpRequest, String userDn) throws InvalidSessionStateException - Throws:
InvalidSessionStateException
-
generateAuthenticatedSessionId
public io.jans.as.common.model.session.SessionId generateAuthenticatedSessionId(jakarta.servlet.http.HttpServletRequest httpRequest, String userDn, String prompt) throws InvalidSessionStateException - Throws:
InvalidSessionStateException
-
generateAuthenticatedSessionId
public io.jans.as.common.model.session.SessionId generateAuthenticatedSessionId(jakarta.servlet.http.HttpServletRequest httpRequest, String userDn, Map<String, String> sessionIdAttributes) throws InvalidSessionStateException- Throws:
InvalidSessionStateException
-
generateUnauthenticatedSessionId
-
generateUnauthenticatedSessionId
-
computeSessionState
-
setSessionIdStateAuthenticated
public io.jans.as.common.model.session.SessionId setSessionIdStateAuthenticated(jakarta.servlet.http.HttpServletRequest httpRequest, jakarta.servlet.http.HttpServletResponse httpResponse, io.jans.as.common.model.session.SessionId sessionId, String userDn) -
persistSessionId
public boolean persistSessionId(io.jans.as.common.model.session.SessionId sessionId) -
persistSessionId
public boolean persistSessionId(io.jans.as.common.model.session.SessionId sessionId, boolean forcePersistence) -
persistSessionId
public boolean persistSessionId(io.jans.as.common.model.session.SessionId sessionId, boolean forcePersistence, boolean silent) -
updateSessionId
public boolean updateSessionId(io.jans.as.common.model.session.SessionId sessionId) -
updateSessionId
public boolean updateSessionId(io.jans.as.common.model.session.SessionId sessionId, boolean updateLastUsedAt) -
updateSessionId
public boolean updateSessionId(io.jans.as.common.model.session.SessionId sessionId, boolean updateLastUsedAt, boolean forceUpdate, boolean modified) -
isExpired
public boolean isExpired(io.jans.as.common.model.session.SessionId sessionId) -
getServerSessionIdLifetimeInSeconds
public int getServerSessionIdLifetimeInSeconds() -
updateSessionIdIfNeeded
public void updateSessionIdIfNeeded(io.jans.as.common.model.session.SessionId sessionId, boolean modified) -
getSessionById
@Nullable public @Nullable io.jans.as.common.model.session.SessionId getSessionById(@Nullable @Nullable String sessionId, boolean silently) -
getSessionByDn
@Nullable public @Nullable io.jans.as.common.model.session.SessionId getSessionByDn(@Nullable @Nullable String dn) -
getSessionBySid
@Nullable public @Nullable io.jans.as.common.model.session.SessionId getSessionBySid(@Nullable @Nullable String sid) -
getSessionByDeviceSecret
@Nullable public @Nullable io.jans.as.common.model.session.SessionId getSessionByDeviceSecret(@Nullable @Nullable String deviceSecret) -
getSessionByDn
@Nullable public @Nullable io.jans.as.common.model.session.SessionId getSessionByDn(@Nullable @Nullable String dn, boolean silently) -
loadSessionById
@Nullable public @Nullable io.jans.as.common.model.session.SessionId loadSessionById(@Nullable @Nullable String sessionId) Loads session by id without local cache- Parameters:
sessionId- session id- Returns:
- session
-
loadSessionById
@Nullable public @Nullable io.jans.as.common.model.session.SessionId loadSessionById(@Nullable @Nullable String sessionId, boolean silently) Loads session by id without local cache- Parameters:
sessionId- session idsilently- if true - does not prints exception from persistence if it occurs- Returns:
- session
-
loadSessionByDn
@Nullable public @Nullable io.jans.as.common.model.session.SessionId loadSessionByDn(@Nullable @Nullable String dn, boolean silently) Loads session by dn without local cache- Parameters:
dn- session ndsilently- if true - does not prints exception from persistence if it occurs- Returns:
- session
-
getSessionId
public io.jans.as.common.model.session.SessionId getSessionId(jakarta.servlet.http.HttpServletRequest request) -
getSessionId
-
getSessionId
-
remove
public boolean remove(io.jans.as.common.model.session.SessionId sessionId) -
remove
-
isSessionValid
public boolean isSessionValid(io.jans.as.common.model.session.SessionId sessionId) -
isSessionIdAuthenticated
public boolean isSessionIdAuthenticated(io.jans.as.common.model.session.SessionId sessionId) -
acrValuesList
By definition we expects space separated acr values as it is defined in spec. But we also try maybe some client sent it to us as json array. So we try both.- Returns:
- acr value list
-
getUser
public io.jans.as.common.model.common.User getUser(io.jans.as.common.model.session.SessionId sessionId) -
findByUser
-
hasAllScopes
-
hasClientAllScopes
-
hasAllScopes
-
externalEvent
-
updateAttributesWithUserClaims
-