summaryrefslogtreecommitdiff
path: root/jwt/api_jwt.py
diff options
context:
space:
mode:
authorAsif Saif Uddin <auvipy@gmail.com>2022-05-23 12:47:05 +0600
committerGitHub <noreply@github.com>2022-05-23 12:47:05 +0600
commit0bf1a35ac15740abf6290f6b4a5759d2f8d44f4f (patch)
tree06494dba0dda02694f3e5ffc834e0e5b3c644a37 /jwt/api_jwt.py
parent675fa10db578886ee6cfd1df688236f69560ced4 (diff)
downloadpyjwt-0bf1a35ac15740abf6290f6b4a5759d2f8d44f4f.tar.gz
Revert "adding support for compressed payloads (#753)" (#761)
This reverts commit 675fa10db578886ee6cfd1df688236f69560ced4.
Diffstat (limited to 'jwt/api_jwt.py')
-rw-r--r--jwt/api_jwt.py23
1 files changed, 1 insertions, 22 deletions
diff --git a/jwt/api_jwt.py b/jwt/api_jwt.py
index f04a88d..7d2177b 100644
--- a/jwt/api_jwt.py
+++ b/jwt/api_jwt.py
@@ -1,6 +1,5 @@
import json
import warnings
-import zlib
from calendar import timegm
from collections.abc import Iterable, Mapping
from datetime import datetime, timedelta, timezone
@@ -109,7 +108,7 @@ class PyJWT:
try:
payload = json.loads(decoded["payload"])
except ValueError as e:
- payload = self._decompress_payload(decoded["payload"], e)
+ raise DecodeError(f"Invalid payload string: {e}")
if not isinstance(payload, dict):
raise DecodeError("Invalid payload string: must be a json object")
@@ -119,26 +118,6 @@ class PyJWT:
decoded["payload"] = payload
return decoded
- @staticmethod
- def _decompress_payload(payload, e):
- """
- Smart Health cards use a raw-compressed (no header or crc) payload,
- so before surfacing a UnicodeDecodeError, find out if it can be
- uncompressed successfully
- noinspection PyBroadException
- """
- if isinstance(e, UnicodeDecodeError):
- try:
- payload = json.loads(
- # wbits=-15 has zlib not worry about headers of crc's
- zlib.decompress(payload, wbits=-15).decode("utf-8")
- )
- except Exception:
- payload = None
- if payload is not None:
- return payload
- raise DecodeError(f"Invalid payload string: {e}")
-
def decode(
self,
jwt: str,