diff options
| author | Chris Rossi <chris@archimedeanco.com> | 2012-10-14 15:15:47 -0400 |
|---|---|---|
| committer | Chris Rossi <chris@archimedeanco.com> | 2012-10-14 15:15:47 -0400 |
| commit | 407e302250d9020c3c0a13f63f9252e766d3286a (patch) | |
| tree | 04768a3694ff69a1adccc79942282a54c3283162 | |
| parent | 1f85ed07248f65ea414dc69d23056e6a15cee23b (diff) | |
| download | pyramid-407e302250d9020c3c0a13f63f9252e766d3286a.tar.gz pyramid-407e302250d9020c3c0a13f63f9252e766d3286a.tar.bz2 pyramid-407e302250d9020c3c0a13f63f9252e766d3286a.zip | |
Fixes for Python 3.
| -rw-r--r-- | pyramid/authentication.py | 4 | ||||
| -rw-r--r-- | pyramid/tests/test_authentication.py | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/pyramid/authentication.py b/pyramid/authentication.py index 50752c96e..d4fd7ab8b 100644 --- a/pyramid/authentication.py +++ b/pyramid/authentication.py @@ -890,8 +890,8 @@ class BasicAuthAuthenticationPolicy(CallbackAuthenticationPolicy): if authmeth.lower() != 'basic': return None try: - auth = auth.strip().decode('base64') - except binascii.Error: # can't decode + auth = b64decode(auth.strip()).decode('ascii') + except (TypeError, binascii.Error): # can't decode return None try: username, password = auth.split(':', 1) diff --git a/pyramid/tests/test_authentication.py b/pyramid/tests/test_authentication.py index bea62894e..dfe3cf0b0 100644 --- a/pyramid/tests/test_authentication.py +++ b/pyramid/tests/test_authentication.py @@ -1123,7 +1123,7 @@ class TestBasicAuthAuthenticationPolicy(unittest.TestCase): import base64 request = testing.DummyRequest() request.headers['Authorization'] = 'Basic %s' % base64.b64encode( - 'chrisr:password') + bytes_('chrisr:password')).decode('ascii') policy = self._makeOne(None) self.assertEqual(policy.unauthenticated_userid(request), 'chrisr') @@ -1154,7 +1154,7 @@ class TestBasicAuthAuthenticationPolicy(unittest.TestCase): import base64 request = testing.DummyRequest() request.headers['Authorization'] = 'Basic %s' % base64.b64encode( - 'chrisr:password') + bytes_('chrisr:password')).decode('ascii') def check(username, password, request): return [] policy = self._makeOne(check) @@ -1164,7 +1164,7 @@ class TestBasicAuthAuthenticationPolicy(unittest.TestCase): import base64 request = testing.DummyRequest() request.headers['Authorization'] = 'Basic %s' % base64.b64encode( - 'chrisrpassword') + bytes_('chrisrpassword')).decode('ascii') policy = self._makeOne(None) self.assertEqual(policy.unauthenticated_userid(request), None) |
