def deleteToken(self, args): self._start(args) print('Delete token: please authenticate...') while True: admin_username = raw_input('Enter admin username: '******'Enter admin password: '******'Please sign in using administrator credentials.') elif not User.users().get(username=admin_username).authenticate(admin_password): #Db.instance().authenticate_user(admin_username, admin_password): print("Username/password don't match.") else: break username = raw_input('Enter username for token to delete: ') user = User.users().get(username=username) if user: token = Token.tokens().get_token_for_user(user=user) if token: token.delete() print('Deleted token belonging to %s.' % username) else: print('%s has no tokens to delete.' % username) else: print('%s has no tokens to delete.' % username)
def on_message(self, message): auth_token = self.request.headers.get('authorization') token = Token.tokens().get(token=auth_token) if token and token.user: data = json.loads(message) if data['msg'] == 'update': self.write_message(json.dumps({'msg':'updated'}))
def open(self): auth_token = self.request.headers.get('authorization') token = Token.tokens().get(token=auth_token) if token and token.user: WSHandler.connections.append(self) else: self.close()
def get(self): try: auth_token = self.request.headers.get('authorization') token = Token.tokens().get(token=auth_token) if token and token.user: timestamp_str = self.get_query_argument('timestamp', None, True) if timestamp_str != None: timestamp = float(timestamp_str) else: timestamp = -1.0 processes = [] for p in ProcInfo.all(): processes.append({'group': p.group, 'name': p.name, 'pid':p.pid, 'state': p.state, 'statename': p.statename, 'start': p.start, 'cpu': p.get_cpu(timestamp), 'mem': p.get_mem(timestamp)}) data = {'processes': processes, 'version': ProcessUpdater.version} else: data = {'error': 'not authorized'} except Exception as e: print('Error: %s' % e) try: logger = logging.getLogger('Web Server') logger.error(e) except: pass data = {'error': e} self.set_header('Content-Type', 'application/json') self.write(json.dumps(data))
def listTokens(self, args): self._start(args) print("%s%sCreated" % ("Username".ljust(40), "Token".ljust(42))) try: # We need to put this in a try block because it's possible that the users # table won't exist if there hasn't been a user created. The 'all()' function # relies on a join query with users. # This will be fixed once I implement migrations for token in Token.tokens().all(): print("%s%s%s" % (token.user.username.ljust(40), token.token.ljust(42), datetime.fromtimestamp(token.created).strftime('%d-%m-%Y %H:%M:%S'))) except: pass
def get(self): try: username = self.request.headers.get('username') password = self.request.headers.get('password') user = User.users().get(username=username) if user.authenticate(password): token = Token.tokens().get_token_for_user(user) if not token: token = Token(user=user) token.save() data = {'token': token.token} else: data = {'error': 'invalid username/password'} except Exception as e: data = {'error': str(e)} self.set_header('Content-Type', 'application/json') self.write(json.dumps(data))