Warning message is not logged for valid token-less request.
if delay_auth_decision is set,auth_token middleware does not log messages for valid token-less requests. Fixes: bug #1028683 Change-Id: Ia2069686b86cc833327b11343ebaed59663fd379
This commit is contained in:
committed by
Nachiappan VR N
parent
4a232ac641
commit
a3657f999e
@@ -375,8 +375,10 @@ class AuthProtocol(object):
|
||||
if token:
|
||||
return token
|
||||
else:
|
||||
self.LOG.warn(
|
||||
"Unable to find authentication token in headers: %s", env)
|
||||
if not self.delay_auth_decision:
|
||||
self.LOG.warn("Unable to find authentication token"
|
||||
" in headers")
|
||||
self.LOG.debug("Headers: %s", env)
|
||||
raise InvalidUserToken('Unable to find token in headers')
|
||||
|
||||
def _reject_request(self, env, start_response):
|
||||
|
||||
@@ -610,6 +610,25 @@ class AuthTokenMiddlewareTest(test.NoModule, BaseAuthTokenMiddlewareTest):
|
||||
self.assertEqual(self.response_headers['WWW-Authenticate'],
|
||||
'Keystone uri=\'https://keystone.example.com:1234\'')
|
||||
|
||||
def test_request_no_token_log_message(self):
|
||||
class FakeLog(object):
|
||||
def __init__(self):
|
||||
self.msg = None
|
||||
self.debugmsg = None
|
||||
|
||||
def warn(self, msg=None, *args, **kwargs):
|
||||
self.msg = msg
|
||||
|
||||
def debug(self, msg=None, *args, **kwargs):
|
||||
self.debugmsg = msg
|
||||
|
||||
self.middleware.LOG = FakeLog()
|
||||
self.middleware.delay_auth_decision = False
|
||||
self.assertRaises(auth_token.InvalidUserToken,
|
||||
self.middleware._get_user_token_from_header, {})
|
||||
self.assertIsNotNone(self.middleware.LOG.msg)
|
||||
self.assertIsNotNone(self.middleware.LOG.debugmsg)
|
||||
|
||||
def test_request_blank_token(self):
|
||||
req = webob.Request.blank('/')
|
||||
req.headers['X-Auth-Token'] = ''
|
||||
|
||||
Reference in New Issue
Block a user