diff --git a/isso/js/app/lib/itsdangerous.js b/isso/js/app/lib/itsdangerous.js index 0a4a4fd..8d29c92 100644 --- a/isso/js/app/lib/itsdangerous.js +++ b/isso/js/app/lib/itsdangerous.js @@ -5,7 +5,7 @@ define(function() { var epoch = 1293840000; var decode = function(str) { - return atob(str + new Array(str.length % 4 + 1).join("=")); + return atob(str + new Array(4 - str.length % 4 + 1).join("=")); }; var timestamp = function(str) { diff --git a/isso/utils/__init__.py b/isso/utils/__init__.py index 5ca3967..e2cc48a 100644 --- a/isso/utils/__init__.py +++ b/isso/utils/__init__.py @@ -114,7 +114,7 @@ class URLSafeTimedSerializer(TimedSerializer): def load_payload(self, payload): try: - json = base64.b64decode(payload + b"=" * (len(payload) % 4)) + json = base64.b64decode(payload + b"=" * (-len(payload) % 4)) except Exception as e: raise BadPayload('Could not base64 decode the payload because of ' 'an exception', original_error=e)