from functools import wraps from flask import request, jsonify def require_api_key(password): def wrap_route(func): @wraps(func) def check_api_key(*args, **kwargs): apiKey = request.headers.get('apiKey') if not apiKey: return jsonify({'message': 'apiKey missing'}), 401 if apiKey == password: # redirect to requested url return func(*args, **kwargs) return jsonify({'message': 'apiKey invalid'}), 401 return check_api_key return wrap_route