Skip to content

Commit

Permalink
Fix X-User and X-Tenant deprecated headers in from_environ
Browse files Browse the repository at this point in the history
The X-User and X-Tenant deprecated headers from auth_token middleware
are actually name values, not ID values. In most cases this doesn't
matter because these are deprecated and only used when no newer headers
are available but we should still fix it.

Closes-Bug: #1614776
Change-Id: I16e80671e853387004434e766dd6ceebe0a6b2a6
  • Loading branch information
jamielennox committed Aug 18, 2016
1 parent 0ad0950 commit fd22458
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
12 changes: 6 additions & 6 deletions oslo_context/context.py
Expand Up @@ -39,16 +39,16 @@
# header to support backwards compatibility.
_ENVIRON_HEADERS = {'auth_token': ['HTTP_X_AUTH_TOKEN',
'HTTP_X_STORAGE_TOKEN'],
'user': ['HTTP_X_USER_ID',
'HTTP_X_USER'],
'user': ['HTTP_X_USER_ID'],
'tenant': ['HTTP_X_PROJECT_ID',
'HTTP_X_TENANT_ID',
'HTTP_X_TENANT'],
'HTTP_X_TENANT_ID'],
'user_domain': ['HTTP_X_USER_DOMAIN_ID'],
'project_domain': ['HTTP_X_PROJECT_DOMAIN_ID'],
'user_name': ['HTTP_X_USER_NAME'],
'user_name': ['HTTP_X_USER_NAME',
'HTTP_X_USER'],
'project_name': ['HTTP_X_PROJECT_NAME',
'HTTP_X_TENANT_NAME'],
'HTTP_X_TENANT_NAME',
'HTTP_X_TENANT'],
'user_domain_name': ['HTTP_X_USER_DOMAIN_NAME'],
'project_domain_name': ['HTTP_X_PROJECT_DOMAIN_NAME'],
'request_id': ['openstack.request_id'],
Expand Down
4 changes: 2 additions & 2 deletions oslo_context/tests/test_context.py
Expand Up @@ -233,7 +233,7 @@ def test_from_environ_deprecated_variables(self):

environ = {'HTTP_X_USER': value}
ctx = context.RequestContext.from_environ(environ=environ)
self.assertEqual(value, ctx.user)
self.assertEqual(value, ctx.user_name)

environ = {'HTTP_X_TENANT_ID': value}
ctx = context.RequestContext.from_environ(environ=environ)
Expand All @@ -245,7 +245,7 @@ def test_from_environ_deprecated_variables(self):

environ = {'HTTP_X_TENANT': value}
ctx = context.RequestContext.from_environ(environ=environ)
self.assertEqual(value, ctx.tenant)
self.assertEqual(value, ctx.project_name)

environ = {'HTTP_X_ROLE': value}
ctx = context.RequestContext.from_environ(environ=environ)
Expand Down

0 comments on commit fd22458

Please sign in to comment.