def login_client(): if request.method == 'POST': username = request.json['username'] password = request.json['password'] hashed_username = hashlib.sha256() hashed_username.update(username.encode('utf-8')) hashusr = hashed_username.hexdigest() igdb_users = IGDB(os.path.join('src', 'dbs', 'users.json')) igdb_logclient = IGDB(os.path.join('src', 'dbs', 'logclient.json')) data: dict = igdb_users.getd(hashusr) if data is not None: #the user is registered salt = data.get('salt') hashed_p = hashlib.sha256() hashed_p.update(password.encode('utf-8')) hashed_p.update(salt.encode('utf-8')) h_pass = hashed_p.hexdigest() if h_pass == data.get('password'): #check password for login luser: str = igdb_logclient.getd(hashusr) if luser is None: #if user logs in for the first time dt = datetime.now() if igdb_logclient.setd(hashusr, dt.strftime( datetime.isoformat(dt))): return 'OK' else: return ' DB Error' else: #if user in already logged in dt = datetime.now() fmt = dt.isoformat() if igdb_logclient.setd(hashusr, dt.strftime( datetime.isoformat(dt))): return 'Already logged in' else: return ' DB Error' else: if igdb_logclient.deld(hashusr): return ' Wrong Password! Your are logged out \n Please Try Again' else: return ' Wrong Password! Please Try Again' else: #the user is not registered return ' User Not Registered'
def logout_client(): if request.method == 'POST': username = request.json['username'] #calculate the hash of the username hashed_username = hashlib.sha256() hashed_username.update(username.encode('utf-8')) hashusr = hashed_username.hexdigest() igdb_logclient = IGDB(os.path.join('src', 'dbs', 'logclient.json')) #Check if the user is logged in if igdb_logclient.getd(hashusr) is not None: #if the user is deleted from logclient database return OK if igdb_logclient.deld(hashusr): return 'OK' else: return ' DB Error while logging out' else: return ' User not logged in!'