From 0bef0fbff5c245668578a43774d8620bdba4a6f7 Mon Sep 17 00:00:00 2001 From: kadabusha <47604788+kadabusha@users.noreply.github.com> Date: Tue, 19 Jul 2022 14:25:20 +0300 Subject: [PATCH] Fix for headers disorder issue (#721) * Fix for headers disorder issue Related issue #715 * Added comment with reference to issue Needed to trigger tests once more time. * Fix for hardcoded value in docs after adding sort to jwt/api_jws.py * Removed unneeded comment - issue #721 --- README.rst | 2 +- docs/index.rst | 2 +- jwt/api_jws.py | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index 49aa77a8..432631e7 100644 --- a/README.rst +++ b/README.rst @@ -42,7 +42,7 @@ Usage >>> import jwt >>> encoded = jwt.encode({"some": "payload"}, "secret", algorithm="HS256") >>> print(encoded) - eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Joh1R2dYzkRvDkqv3sygm5YyK8Gi4ShZqbhK2gxcs2U + eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzb21lIjoicGF5bG9hZCJ9.4twFt5NiznN84AWoo1d7KO1T_yoc0Z6XOpOVswacPZg >>> jwt.decode(encoded, "secret", algorithms=["HS256"]) {'some': 'payload'} diff --git a/docs/index.rst b/docs/index.rst index 63e67945..5cdf5654 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -32,7 +32,7 @@ Example Usage >>> import jwt >>> encoded_jwt = jwt.encode({"some": "payload"}, "secret", algorithm="HS256") >>> print(encoded_jwt) - eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Joh1R2dYzkRvDkqv3sygm5YyK8Gi4ShZqbhK2gxcs2U + eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzb21lIjoicGF5bG9hZCJ9.4twFt5NiznN84AWoo1d7KO1T_yoc0Z6XOpOVswacPZg >>> jwt.decode(encoded_jwt, "secret", algorithms=["HS256"]) {'some': 'payload'} diff --git a/jwt/api_jws.py b/jwt/api_jws.py index 75f826da..90206c9a 100644 --- a/jwt/api_jws.py +++ b/jwt/api_jws.py @@ -132,8 +132,9 @@ def encode( # True is the standard value for b64, so no need for it del header["b64"] + # Fix for headers misorder - issue #715 json_header = json.dumps( - header, separators=(",", ":"), cls=json_encoder + header, separators=(",", ":"), cls=json_encoder, sort_keys=True ).encode() segments.append(base64url_encode(json_header))