[Python-modules-commits] [python-social-auth] 08/71: added Python 3 support to FacebookAppOAuth2's load_signed_request method

Wolfgang Borgert debacle at moszumanska.debian.org
Sat Dec 24 15:14:21 UTC 2016


This is an automated email from the git hooks/post-receive script.

debacle pushed a commit to tag v0.2.14
in repository python-social-auth.

commit c310299cad6f0646f2cb61d0bb122bd304f19351
Author: James Maddox <jhmaddox at gmail.com>
Date:   Wed Sep 23 18:30:05 2015 -0700

    added Python 3 support to FacebookAppOAuth2's load_signed_request method
---
 social/backends/facebook.py | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/social/backends/facebook.py b/social/backends/facebook.py
index b887d11..f76b502 100644
--- a/social/backends/facebook.py
+++ b/social/backends/facebook.py
@@ -177,7 +177,7 @@ class FacebookAppOAuth2(FacebookOAuth2):
     def load_signed_request(self, signed_request):
         def base64_url_decode(data):
             data = data.encode('ascii')
-            data += '=' * (4 - (len(data) % 4))
+            data += '='.encode('ascii') * (4 - (len(data) % 4))
             return base64.urlsafe_b64decode(data)
 
         key, secret = self.get_key_and_secret()
@@ -187,8 +187,10 @@ class FacebookAppOAuth2(FacebookOAuth2):
             pass  # ignore if can't split on dot
         else:
             sig = base64_url_decode(sig)
-            data = json.loads(base64_url_decode(payload))
-            expected_sig = hmac.new(secret, msg=payload,
+            payload_json_bytes = base64_url_decode(payload)
+            data = json.loads(payload_json_bytes.decode('utf-8', 'replace'))
+            expected_sig = hmac.new(secret.encode('ascii'),
+                                    msg=payload.encode('ascii'),
                                     digestmod=hashlib.sha256).digest()
             # allow the signed_request to function for upto 1 day
             if constant_time_compare(sig, expected_sig) and \

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-social-auth.git



More information about the Python-modules-commits mailing list