Merge "Remove middleware reference to PARAMS_ENV and CONTEXT_ENV"
This commit is contained in:
commit
ec619c7247
|
@ -136,7 +136,7 @@ class AuthContextMiddleware(auth_token.BaseAuthProtocol):
|
|||
|
||||
@wsgi.middleware_exceptions
|
||||
def process_request(self, request):
|
||||
context_env = request.environ.get(core.CONTEXT_ENV, {})
|
||||
context_env = request.environ.get(wsgi.CONTEXT_ENV, {})
|
||||
|
||||
# NOTE(notmorgan): This code is merged over from the admin token
|
||||
# middleware and now emits the security warning when the
|
||||
|
@ -150,7 +150,7 @@ class AuthContextMiddleware(auth_token.BaseAuthProtocol):
|
|||
"not be set. This option is deprecated in favor of using "
|
||||
"'keystone-manage bootstrap' and will be removed in a "
|
||||
"future release.")
|
||||
request.environ[core.CONTEXT_ENV] = context_env
|
||||
request.environ[wsgi.CONTEXT_ENV] = context_env
|
||||
|
||||
if not context_env.get('is_admin', False):
|
||||
resp = super(AuthContextMiddleware, self).process_request(request)
|
||||
|
@ -186,7 +186,7 @@ class AuthContextMiddleware(auth_token.BaseAuthProtocol):
|
|||
# certificate is effectively disabled if no trusted issuers are
|
||||
# provided.
|
||||
|
||||
if request.environ.get(core.CONTEXT_ENV, {}).get('is_admin', False):
|
||||
if request.environ.get(wsgi.CONTEXT_ENV, {}).get('is_admin', False):
|
||||
request_context.is_admin = True
|
||||
auth_context = {}
|
||||
|
||||
|
|
|
@ -30,22 +30,14 @@ AUTH_TOKEN_HEADER = 'X-Auth-Token'
|
|||
SUBJECT_TOKEN_HEADER = 'X-Subject-Token'
|
||||
|
||||
|
||||
# Environment variable used to pass the request context
|
||||
CONTEXT_ENV = wsgi.CONTEXT_ENV
|
||||
|
||||
|
||||
# Environment variable used to pass the request params
|
||||
PARAMS_ENV = wsgi.PARAMS_ENV
|
||||
|
||||
|
||||
class TokenAuthMiddleware(wsgi.Middleware):
|
||||
def process_request(self, request):
|
||||
token = request.headers.get(AUTH_TOKEN_HEADER)
|
||||
context = request.environ.get(CONTEXT_ENV, {})
|
||||
context = request.environ.get(wsgi.CONTEXT_ENV, {})
|
||||
context['token_id'] = token
|
||||
if SUBJECT_TOKEN_HEADER in request.headers:
|
||||
context['subject_token_id'] = request.headers[SUBJECT_TOKEN_HEADER]
|
||||
request.environ[CONTEXT_ENV] = context
|
||||
request.environ[wsgi.CONTEXT_ENV] = context
|
||||
|
||||
|
||||
class AdminTokenAuthMiddleware(wsgi.Middleware):
|
||||
|
@ -122,7 +114,7 @@ class JsonBodyMiddleware(wsgi.Middleware):
|
|||
continue
|
||||
params[k] = v
|
||||
|
||||
request.environ[PARAMS_ENV] = params
|
||||
request.environ[wsgi.PARAMS_ENV] = params
|
||||
|
||||
|
||||
class NormalizingFilter(wsgi.Middleware):
|
||||
|
|
|
@ -22,6 +22,7 @@ import webtest
|
|||
|
||||
from keystone.common import authorization
|
||||
from keystone.common import tokenless_auth
|
||||
from keystone.common import wsgi
|
||||
import keystone.conf
|
||||
from keystone import exception
|
||||
from keystone.federation import constants as federation_constants
|
||||
|
@ -107,7 +108,7 @@ class TokenAuthMiddlewareTest(MiddlewareRequestTestBase):
|
|||
def test_request(self):
|
||||
headers = {middleware.AUTH_TOKEN_HEADER: 'MAGIC'}
|
||||
req = self._do_middleware_request(headers=headers)
|
||||
context = req.environ[middleware.CONTEXT_ENV]
|
||||
context = req.environ[wsgi.CONTEXT_ENV]
|
||||
self.assertEqual('MAGIC', context['token_id'])
|
||||
|
||||
|
||||
|
@ -122,7 +123,7 @@ class JsonBodyMiddlewareTest(MiddlewareRequestTestBase):
|
|||
headers=headers,
|
||||
method='post')
|
||||
self.assertEqual({"arg1": "one", "arg2": ["a"]},
|
||||
req.environ[middleware.PARAMS_ENV])
|
||||
req.environ[wsgi.PARAMS_ENV])
|
||||
|
||||
def test_malformed_json(self):
|
||||
headers = {'Content-Type': 'application/json'}
|
||||
|
@ -147,7 +148,7 @@ class JsonBodyMiddlewareTest(MiddlewareRequestTestBase):
|
|||
headers=headers,
|
||||
method='post')
|
||||
self.assertEqual({"arg1": "one", "arg2": ["a"]},
|
||||
req.environ[middleware.PARAMS_ENV])
|
||||
req.environ[wsgi.PARAMS_ENV])
|
||||
|
||||
def test_unrecognized_content_type(self):
|
||||
headers = {'Content-Type': 'text/plain'}
|
||||
|
@ -159,7 +160,7 @@ class JsonBodyMiddlewareTest(MiddlewareRequestTestBase):
|
|||
def test_unrecognized_content_type_without_body(self):
|
||||
headers = {'Content-Type': 'text/plain'}
|
||||
req = self._do_middleware_request(headers=headers)
|
||||
self.assertEqual({}, req.environ.get(middleware.PARAMS_ENV, {}))
|
||||
self.assertEqual({}, req.environ.get(wsgi.PARAMS_ENV, {}))
|
||||
|
||||
|
||||
class AuthContextMiddlewareTest(test_backend_sql.SqlTests,
|
||||
|
@ -722,7 +723,7 @@ class AuthContextMiddlewareTest(test_backend_sql.SqlTests,
|
|||
log_fix = self.useFixture(fixtures.FakeLogger())
|
||||
headers = {middleware.AUTH_TOKEN_HEADER: 'ADMIN'}
|
||||
req = self._do_middleware_request(headers=headers)
|
||||
self.assertTrue(req.environ[middleware.CONTEXT_ENV]['is_admin'])
|
||||
self.assertTrue(req.environ[wsgi.CONTEXT_ENV]['is_admin'])
|
||||
self.assertNotIn('Invalid user token', log_fix.output)
|
||||
|
||||
def test_request_non_admin(self):
|
||||
|
|
|
@ -25,6 +25,7 @@ from keystone import auth
|
|||
from keystone.common import authorization
|
||||
from keystone.common import cache
|
||||
from keystone.common.validation import validators
|
||||
from keystone.common import wsgi
|
||||
from keystone import exception
|
||||
from keystone import middleware
|
||||
from keystone.tests.common import auth as common_auth
|
||||
|
@ -1251,7 +1252,7 @@ class AuthContextMiddlewareAdminTokenTestCase(RestfulTestCase):
|
|||
# already.
|
||||
token_id = uuid.uuid4().hex # token doesn't matter.
|
||||
# the admin_token middleware sets is_admin in the context.
|
||||
extra_environ = {middleware.CONTEXT_ENV: {'is_admin': True}}
|
||||
extra_environ = {wsgi.CONTEXT_ENV: {'is_admin': True}}
|
||||
req = self._middleware_request(token_id, extra_environ)
|
||||
auth_context = req.environ.get(authorization.AUTH_CONTEXT_ENV)
|
||||
self.assertDictEqual({}, auth_context)
|
||||
|
|
Loading…
Reference in New Issue