from functools import wraps from flask import request, Response from lib.get_users import get_users users = get_users() def check_auth(username, password): return users.get(username) == password def authenticate(): return Response( 'Could not verify your access.\n', 401, {'WWW-Authenticate': 'Basic realm="Login Required"'} ) def requires_auth(f): @wraps(f) def decorated(*args, **kwargs): auth = request.authorization if not auth or not check_auth(auth.username, auth.password): return authenticate() return f(*args, **kwargs) return decorated