summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Rossi <chris@archimedeanco.com>2012-10-14 15:15:47 -0400
committerChris Rossi <chris@archimedeanco.com>2012-10-14 15:15:47 -0400
commit407e302250d9020c3c0a13f63f9252e766d3286a (patch)
tree04768a3694ff69a1adccc79942282a54c3283162
parent1f85ed07248f65ea414dc69d23056e6a15cee23b (diff)
downloadpyramid-407e302250d9020c3c0a13f63f9252e766d3286a.tar.gz
pyramid-407e302250d9020c3c0a13f63f9252e766d3286a.tar.bz2
pyramid-407e302250d9020c3c0a13f63f9252e766d3286a.zip
Fixes for Python 3.
-rw-r--r--pyramid/authentication.py4
-rw-r--r--pyramid/tests/test_authentication.py6
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)