diff --git a/designate/api/middleware.py b/designate/api/middleware.py index 764143b50..d32531add 100644 --- a/designate/api/middleware.py +++ b/designate/api/middleware.py @@ -137,7 +137,14 @@ class NoAuthContextMiddleware(ContextMiddleware): def process_request(self, request): # NOTE(kiall): This makes the assumption that disabling authentication # means you wish to allow full access to everyone. - context = DesignateContext(is_admin=True) + headers = request.headers + + context = DesignateContext( + auth_token=headers.get('X-Auth-Token', None), + user=headers.get('X-Auth-User-ID', 'noauth-user'), + tenant=headers.get('X-Auth-Project-ID', 'noauth-project'), + is_admin=True, + ) # Store the context where oslo-log exepcts to find it. local.store.context = context diff --git a/designate/tests/test_api/test_middleware.py b/designate/tests/test_api/test_middleware.py index 427a2720a..1e0d9c0db 100644 --- a/designate/tests/test_api/test_middleware.py +++ b/designate/tests/test_api/test_middleware.py @@ -165,8 +165,8 @@ class NoAuthContextMiddlewareTest(ApiTestCase): self.assertTrue(context.is_admin) self.assertIsNone(context.auth_token) - self.assertIsNone(context.user_id) - self.assertIsNone(context.tenant_id) + self.assertEqual('noauth-user', context.user_id) + self.assertEqual('noauth-project', context.tenant_id) self.assertEqual([], context.roles)