From 94d69c3264ff67ff4411059a551d68a92ac63aae Mon Sep 17 00:00:00 2001 From: Dan Callaghan Date: Jun 14 2017 06:04:19 +0000 Subject: AUTH_METHOD="dummy" for test environments We can use this fake authentication method when we are deploying WaiverDB as part of a test environment for Greenwave. We want tests to be able to post waivers without relying on external authentication services like Fedora's FAS dev instance. --- diff --git a/waiverdb/auth.py b/waiverdb/auth.py index cb796fa..b8e8f9b 100644 --- a/waiverdb/auth.py +++ b/waiverdb/auth.py @@ -121,6 +121,12 @@ def get_user(request): user = user.split("@")[0] if kerberos_token is not None: headers = {'WWW-Authenticate': ' '.join(['negotiate', kerberos_token])} + elif current_app.config['AUTH_METHOD'] == 'dummy': + # Blindly accept any username. For testing purposes only of course! + if not request.authorization: + response = Response('Unauthorized', 401, {'WWW-Authenticate': 'Basic realm="dummy"'}) + raise Unauthorized(response=response) + user = request.authorization.username else: raise Unauthorized("Authenticated user required") return user, headers