Class StatelessOperations

    • Method Detail

      • refresh

        public SessionInfo refresh​(Session session,
                                   boolean reset)
                            throws SessionException
        Description copied from interface: SessionOperations
        Performs a refresh of the Session and return a summary of the Session information. This will optionally update the last modified timestamp of the Session. Note: This method is inconsistent from the other two in that it requires a Session reference. This is because of a dependency which could not be resolved without substantial refactoring in the Remote implementation.
        Specified by:
        refresh in interface SessionOperations
        Parameters:
        session - Reference to the Session.
        reset - If true, then update the last modified timestamp of the Session.
        Returns:
        Null if there was an error locating the Session, otherwise non null.
        Throws:
        SessionException
      • logout

        public void logout​(Session session)
                    throws SessionException
        Description copied from interface: SessionOperations
        Performs the logout operation on the Session. This operation is intended to destroy the Session and perform any appropriate Session related logic.
        Specified by:
        logout in interface SessionOperations
        Parameters:
        session - Session to logout.
        Throws:
        SessionException
      • getValidSessions

        public SearchResults<SessionInfo> getValidSessions​(Session session,
                                                           String pattern)
                                                    throws SessionException
        Description copied from interface: SessionOperations
        Returns all sessions which are accessible using the provided session for authorization, and which match the provided filter. Will return early if size or time limits are exceeded.
        Specified by:
        getValidSessions in interface SessionOperations
        Parameters:
        session - The session to use for authorization.
        pattern - The pattern to use to match the sessions.
        Returns:
        The list of sessioninfos found, capped based on time and quantity.
        Throws:
        SessionException - If the request fails.
      • getMatchingSessions

        public Collection<PartialSession> getMatchingSessions​(CrestQuery crestQuery)
                                                       throws SessionException
        This implementation will forward the query call to the local operations in order to allow the return of stateful sessions even when the request was initiated using a stateless session. Since stateless sessions are not tracked by OpenAM, it is not possible to query for them.
        Specified by:
        getMatchingSessions in interface SessionOperations
        Parameters:
        crestQuery - The CREST query based on which we should look for matching sessions.
        Returns:
        The collection of matching partial sessions.
        Throws:
        SessionException - If the request fails.
      • destroy

        public void destroy​(Session requester,
                            Session session)
                     throws SessionException
        Description copied from interface: SessionOperations
        Destroys the Session by removing it and moving it to the DESTROY state. This operation is similar to the logout and uses similar behaviour.
        Specified by:
        destroy in interface SessionOperations
        Parameters:
        requester - The requester's non null session used to authorize the destroy operation.
        session - The non null session to destroy.
        Throws:
        SessionException - If there was an error while deleting the token.
      • setProperty

        public void setProperty​(Session session,
                                String name,
                                String value)
                         throws SessionException
        Description copied from interface: SessionOperations
        Assigns the property to the Session.
        Specified by:
        setProperty in interface SessionOperations
        Parameters:
        session - The session to perform the set on.
        name - Non null name of the property.
        value - Non null value.
        Throws:
        SessionException - SessionException if the session reached its maximum session time, or the session was destroyed, or there was an error during communication with session service, or if the property name or value was null.
      • getSessionInfo

        public SessionInfo getSessionInfo​(SessionID sid,
                                          boolean reset)
                                   throws SessionException
        Description copied from interface: SessionOperations
        Get the Session Info Object from the Session ID.
        Specified by:
        getSessionInfo in interface SessionOperations
        Parameters:
        sid - the Session Id of the required Session Info.
        reset - if true will cause the last access time on the session to be updated.
        Returns:
        a Session Info object for the required session.
        Throws:
        SessionException - if the session could not be accessed.
      • addSessionListener

        public void addSessionListener​(Session session,
                                       String url)
                                throws SessionException
        Description copied from interface: SessionOperations
        Add a session listener notification url. The url will receive a notification when session change events occur.
        Specified by:
        addSessionListener in interface SessionOperations
        Parameters:
        session - the session to listen to.
        url - the listener notification url
        Throws:
        SessionException - if the session could not be accessed.
      • deferenceRestrictedID

        public String deferenceRestrictedID​(Session session,
                                            SessionID restrictedID)
                                     throws SessionException
        Description copied from interface: SessionOperations
        Given a restricted token, returns the SSOTokenID of the master token can only be used if the requester is an app token
        Specified by:
        deferenceRestrictedID in interface SessionOperations
        Parameters:
        session - Must be an app token
        restrictedID - The SSOTokenID of the restricted token
        Returns:
        The SSOTokenID string of the master token
        Throws:
        SessionException - If the master token cannot be de-referenced
      • setExternalProperty

        public void setExternalProperty​(SSOToken clientToken,
                                        SessionID sessionId,
                                        String name,
                                        String value)
                                 throws SessionException
        Description copied from interface: SessionOperations
        Sets an external property in the session. If the property is protected then it will throw a SessionException.
        Specified by:
        setExternalProperty in interface SessionOperations
        Parameters:
        clientToken - SSO Token of the client setting external property.
        sessionId - The Id of the session to set the property on
        name - the name of the property
        value - the new value of the property
        Throws:
        SessionException - If the Session could not be accessed or the property is protected.