def user_id_for_session_id(self, session_id=None):
        """
        overloads from parent. looks for user_id in the database and returns it
        :param session_id: session id
        :return: user id.
        """
        if session_id:

            UserSession.load_from_file()
            user_session_list = UserSession.search({'session_id': session_id})

            if user_session_list:
                session = user_session_list[0]
                user_id = session.user_id
                if hasattr(session, 'created_at'):
                    current = datetime.utcnow()
                    if user_id:
                        if self.session_duration <= 0 \
                                or not self.session_duration:
                            return user_id
                        if (session.created_at + timedelta(
                                seconds=self.session_duration)) < current:
                            return None

                        return user_id

        return None
    def destroy_session(self, request=None):
        """ Destroy the session
        """
        if request is None:
            return False

        session_id = self.session_cookie(request)
        if session_id is None:
            return False

        user_id = self.user_id_for_session_id(session_id)
        if not user_id:
            return False

        session_ids = UserSession.search({'session_id': session_id})
        if not session_ids:
            return False

        try:
            session_ids[0].remove()
            UserSession.save_to_file()
        except Exception:
            return False

        return True
Esempio n. 3
0
    def user_id_for_session_id(self, session_id=None):
        """ returns the User ID by requesting UserSession in
            the database based on session_id
        """
        if type(session_id) is not str:
            return None
        try:
            users_sessions = UserSession.search({'session_id': session_id})
        except Exception:
            return None

        if len(users_sessions) == 0:
            return None

        user_session = users_sessions[0]

        if self.session_duration <= 0:
            return user_session.user_id

        created_at_session = user_session.created_at

        duration_session = created_at_session + timedelta(
            seconds=self.session_duration
        )

        if duration_session < datetime.now():
            return None

        return user_session.user_id
Esempio n. 4
0
    def destroy_session(self, request=None):
        """Remove Session from Database"""
        if request is None:
            return False

        session_id = self.session_cookie(request)
        if session_id is None:
            return False

        user_id = self.user_id_for_session_id(session_id)

        if not user_id:
            return False

        user_session = UserSession.search({'session_id': session_id})

        if not user_session:
            return False

        user_session = user_session[0]

        try:
            user_session.remove()
            UserSession.save_to_file()
        except Exception:
            return False

        return True
    def user_id_for_session_id(self, session_id=None):
        """
            Make user id to session

            Args:
                session_id: String of the session

            Return:
                User ID if not is expired
        """
        if session_id is None:
            return None

        UserSession.load_from_file()
        user_sess = UserSession.search({'session_id': session_id})

        if not user_sess:
            return None

        user = user_sess[0]

        if user is None:
            return None

        expired_tm = user.created_at + \
            timedelta(seconds=self.session_duration)

        if expired_tm < datetime.now():
            return None

        return user.user_id
 def destroy_session(self, request=None):
     """ destroy/logout of the session overloaded """
     if super().destroy(request):
         sess = self.session_cookie(request)
         sessData = UserSession.search({"session_id": sess})
         if sessData is not None:
             [x.remove() for x in sessData]
             return True
     return False
Esempio n. 7
0
 def user_id_for_session_id(self, session_id=None):
     """Get user ID from session
     """
     if not session_id:
         return None
     UserSession.load_from_file()
     users = UserSession.search({'session_id': session_id})
     for u in users:
         delta = timedelta(seconds=self.session_duration)
         if u.created_at + delta < datetime.now():
             return None
         return u.user_id
    def user_id_for_session_id(self, session_id=None):
        """ returns the User ID by requesting UserSession
            in the database based on session_id
        """
        if not session_id:
            return
        user_sessions = UserSession.search({'session_id': session_id})
        if not user_sessions:
            return
        try:
            sessions = UserSession.search({'session_id': session_id})
            if not sessions:
                return

            if sessions[0].created_at + \
               timedelta(seconds=self.session_duration) < datetime.utcnow():
                return None

            return sessions[0].user_id
        except Exception:
            return
 def user_id_for_session_id(self, session_id=None):
     """ that returns the User ID by requesting UserSession
         in the database based on session_id
     """
     if not session_id:
         return None
     UserSession.load_from_file()
     users = UserSession.search({'session_id': session_id})
     for user in users:
         delta = timedelta(seconds=self.session_duration)
         if user.created_at + delta < datetime.now():
             return None
         return user.user_id
Esempio n. 10
0
 def destroy_session(self, request=None):
     """ This module is for session DB auth which stores sessions in db """
     from os import getenv
     if not request:
         return None
     session_id = self.session_cookie(request)
     if not session_id:
         return None
     user_id = self.user_id_for_session_id(session_id)
     if not user_id:
         return None
     user = UserSession.search(user_id)
     if not user:
         return None
     user.remove()
Esempio n. 11
0
 def user_id_for_session_id(self, session_id=None):
     """ get user_id associated with session_id from storage """
     if not session_id:
         return None
     try:
         user_list = UserSession.search({'session_id': session_id})
     except Exception:
         return None
     if not user_list:
         return None
     from datetime import datetime, timedelta
     start = timedelta(seconds=self.session_duration)
     if datetime.now() > user_list[0].created_at + start:
         return None
     return user_list[0].user_id
Esempio n. 12
0
 def destroy_session(self, request=None):
     """Delete the user session / log out
     """
     if request:
         session_id = self.session_cookie(request)
         if not session_id:
             return False
         if not self.user_id_for_session_id(session_id):
             return False
         users = UserSession.search({'session_id': session_id})
         for u in users:
             u.remove()
             UserSession.save_to_file()
             return True
     return False
Esempio n. 13
0
 def destroy_session(self, request=None):
     """ destroy session of given user_id in request """
     from os import getenv
     if not request:
         return None
     session_id = self.session_cookie(request)
     if not session_id:
         return None
     user_id = self.user_id_for_session_id(session_id)
     if not user_id:
         return None
     user = UserSession.search(user_id)
     if not user:
         return None
     user.remove()
 def destroy_session(self, request=None):
     """ Overloads method in SessionExpAuth
         Destroys UserSession based on the Session ID from user cookie
     """
     if request is None:
         return False
     session_id = self.session_cookie(request)
     if not session_id:
         return False
     session_list = UserSession.search({'session_id': session_id})
     if len(session_list) < 1:
         return False
     current_session = session_list[0]
     current_session.remove()
     return True
Esempio n. 15
0
 def user_id_for_session_id(self, session_id=None):
     """ This module is for session DB auth which stores sessions in db """
     if not session_id:
         return None
     try:
         user_list = UserSession.search({'session_id': session_id})
     except Exception:
         return None
     if not user_list:
         return None
     from datetime import datetime, timedelta
     start_time = timedelta(seconds=self.session_duration)
     if user_list[0].created_at + start_time < datetime.now():
         return None
     return user_list[0].user_id
 def destroy_session(self, request=None):
     """
     destroy_session function
     """
     if request is None:
         return None
     session_id = self.session_cookie(request)
     if session_id is None:
         return None
     try:
         user = UserSession.search({'session_id': session_id})
     except Exception:
         user = []
     if len(users) == 0:
         return None
     user[0].remove()
 def destroy_session(self, request=None) -> bool:
     """
     destroy_session.
     """
     if request:
         session_id = self.session_cookie(request)
         if session_id:
             if super().destroy_session(request):
                 try:
                     us_list = UserSession.search({session_id: session_id})
                     for us in us_list:
                         us.remove()
                         return True
                 except Exception:
                     return False
     return False
 def destroy_session(self, request=None):
     """ that destroys the UserSession based on the Session ID
         from the request cookie
     """
     if request:
         session_id = self.session_cookie(request)
         if not session_id:
             return False
         if not self.user_id_for_session_id(session_id):
             return False
         users = UserSession.search({'session_id': session_id})
         for user in users:
             user.remove()
             UserSession.save_to_file()
             return True
     return False
    def user_id_for_session_id(self, session_id=None):
        """ Get the user id for session
        """
        if session_id is None:
            return None

        UserSession.load_from_file()
        session_ids = UserSession.search({'session_id': session_id})

        if not session_ids:
            return None

        if datetime.utcnow() > session_ids[0].created_at + timedelta(
                seconds=self.session_duration):
            return None

        return session_ids[0].user_id
Esempio n. 20
0
    def user_id_for_session_id(self, session_id=None):
        """
        Returns a User ID based on a Session ID.
        """
        if session_id is None:
            return None

        UserSession.load_from_file()
        user = UserSession.search({'session_id': session_id})
        if not user:
            return None

        user = user[0]
        timing = timedelta(seconds=self.session_duration) + user.created_at
        if timing < datetime.now():
            return None
        return user.user_id
    def user_id_for_session_id(self, session_id=None):
        """ Return the user ID at the current session ID """
        if session_id is None:
            return None
        try:
            sessions = UserSession.search({session_id: session_id})
            if sessions is None:
                return None

            session_time = timedelta(seconds=self.session_duration)

            if sessions[0].created_at + session_time < datetime.utcnow():
                return None

            return sessions[0].user_id
        except ValueError:
            return None
 def destroy_session(self, request=None):
     """ destroys the UserSession based on the Session ID
         from the request cookie
     """
     if not request:
         return
     session_id = self.session_cookie(request)
     if not session_id:
         return
     try:
         users = UserSession.search({'session_id': session_id})
         if not users:
             return
         for user in users:
             user.remove()
     except Exception:
         return
 def user_id_for_session_id(self, session_id=None):
     """
     user_id_for_session_id.
     """
     if not session_id:
         return
     try:
         us_list = UserSession.search({session_id: session_id})
         for us in us_list:
             created_at = us.get('created_at', None)
             if not created_at:
                 return
             if (datetime.now() > created_at +
                     timedelta(seconds=self.session_duration)):
                 return
             return us.get('user_id', None)
     except Exception:
         return
Esempio n. 24
0
 def destroy_session(self, request=None):
     """
     destroys the UserSession
     based on the Session ID from the request cookie
     """
     if not request:
         return False
     try:
         session_id = self.session_cookie(request)
         if not session_id:
             return False
         objs = UserSession.search({"session_id": session_id})
         del self.user_id_by_session_id[session_id]
         if objs and len(objs) > 0:
             objs[0].remove()
             return True
     except Exception as e:
         return False
Esempio n. 25
0
    def user_id_for_session_id(self, session_id=None):
        """ Returns the User ID by requesting UserSession
            in the database based on session_id
        """
        if session_id is None:
            return None

        UserSession.load_from_file()
        is_valid_user = UserSession.search({'session_id': session_id})
        if not is_valid_user:
            return None

        is_valid_user = is_valid_user[0]

        start_time = is_valid_user.created_at
        time_delta = timedelta(seconds=self.session_duration)
        if (start_time + time_delta) < datetime.now():
            return None
        return is_valid_user.user_id
 def user_id_for_session_id(self, session_id: str = None) -> str:
     """
     user_id_for_session_id function
     """
     if session_id is None:
         return None
     try:
         user_session = UserSession.search({'session_id': session_id})
     except Exception:
         user_session = []
     if len(user_session) == 0:
         return None
     if self.session_duration <= 0:
         return user_session[0].user_id
     create_at = user_session[0].created_at
     create_at += timedelta(0, self.session_duration)
     if create_at < datetime.now():
         return None
     return user_session[0].user_id
 def user_id_for_session_id(self, session_id=None):
     """ Overloads method in SessionExpAuth
         Returns User ID by requesting UserSession in DB using session_id
     """
     if session_id is None:
         return None
     UserSession.load_from_file()
     user_session = UserSession.search({'session_id': session_id})
     if not user_session:
         return None
     session = user_session[0]
     session_dictionary = self.user_id_by_session_id.get(session_id)
     if not session_dictionary:
         return None
     created_at = session_dictionary.get('created_at')
     expiration = created_at + timedelta(seconds=self.session_duration)
     if expiration < datetime.now():
         return None
     return session.user_id
Esempio n. 28
0
    def destroy_session(self, request=None):
        ''' Destroy session associated with request. '''
        # Get session ID from request cookie
        session_id = self.session_cookie(request)
        if session_id is None:
            return False

        # Get user ID associated with session ID
        user_id = self.user_id_for_session_id(session_id)
        if user_id is None:
            return False

        # Remove session record from file
        found_user = UserSession.search({'session_id': session_id})
        if not found_user:
            return False

        found_user = found_user[0]
        found_user.remove()
        return True
Esempio n. 29
0
    def user_id_for_session_id(self, session_id=None):
        """User ID for Session ID Database"""
        if session_id is None:
            return None

        UserSession.load_from_file()
        user_session = UserSession.search({'session_id': session_id})

        if not user_session:
            return None

        user_session = user_session[0]

        expired_time = user_session.created_at + \
            timedelta(seconds=self.session_duration)

        if expired_time < datetime.utcnow():
            return None

        return user_session.user_id
    def destroy_session(self, request=None):
        """ Destroy a current session """
        if request is None:
            return False

        session_id = self.session_cookie(request)
        if session_id is None:
            return False

        try:
            sessions = UserSession.search({session_id: session_id})
            if sessions is None:
                return False

            sessions[0].remove()

            return True

        except ValueError:
            return False