From 78104fc1676803728f4237da903e8887422a7b57 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Tue, 10 May 2022 18:23:41 -0400 Subject: [PATCH] Add __str__ and __repr_ for JWT Signed-off-by: Simo Sorce --- jwcrypto/jwt.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/jwcrypto/jwt.py b/jwcrypto/jwt.py index 749d1f0..187e2c7 100644 --- a/jwcrypto/jwt.py +++ b/jwcrypto/jwt.py @@ -579,3 +579,18 @@ def from_jose_token(cls, token): obj = cls() obj.deserialize(token) return obj + + def __str__(self): + try: + return self.serialize() + except Exception: # pylint: disable=broad-except + return self.__repr__() + + def __repr__(self): + jwt = repr(self.token) + return f'JWT(header={self._header}, ' + \ + f'claims={self._claims}, ' + \ + f'jwt={jwt}, ' + \ + f'key=None, algs={self._algs}, ' + \ + f'default_claims={self._reg_claims}, ' + \ + f'check_claims={self._check_claims})'