def update_user_operation_time(self): """Update the user's last operation time. :rtype:bool :return True if success in updating, return False if token not found or token is overtime. """ if HTTP_HEADER.TOKEN not in request.headers: return False user = self.__validate_token(request.headers[HTTP_HEADER.TOKEN]) if user is None: return False else: time_interval = timedelta(hours=self.util.safe_get_config("login.token_valid_time_minutes", 60)) new_toke_time = self.util.get_now() + time_interval UserToken.objects(token=request.headers[HTTP_HEADER.TOKEN]).update(expire_date=new_toke_time) users_operation_time[user.id] = self.util.get_now() return True
def __validate_token(self, token): """Validate token to make sure it exists and not expired :type token: str|unicode :param token: token strin :rtype: User :return user related to the token or None if token is invalid """ if "authenticated" in g and g.authenticated: return g.user else: # todo eliminate the warning related to 'objects' t = UserToken.objects(token=token).first() if t and t.expire_date >= self.util.get_now(): g.authenticated = True g.user = t.user return t.user return None
def __validate_token(self, token): """Validate token to make sure it exists and not expired :type token: str|unicode :param token: token strin :rtype: User :return user related to the token or None if token is invalid """ if "authenticated" in g and g.authenticated: return g.user else: # todo eliminate the warning related to 'objects' t = UserToken.objects(token=token).first() if t and t.expire_date >= self.util.get_now(): g.authenticated = True g.user = t.user return t.user return None