From 4958c80c7b76f18d81cd4df2e7ddd1f728b71bf1 Mon Sep 17 00:00:00 2001 From: Klaas <kliffen@astron.nl> Date: Fri, 19 Nov 2021 11:21:27 +0100 Subject: [PATCH] Add padding to fix base64 decode --- shopping_client/shopping_client.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/shopping_client/shopping_client.py b/shopping_client/shopping_client.py index 1462e89..e0ccab5 100644 --- a/shopping_client/shopping_client.py +++ b/shopping_client/shopping_client.py @@ -104,7 +104,9 @@ class shopping_client: return False try: - payload = json.loads(base64.urlsafe_b64decode(token.split(".")[1])) + data = token.split(".")[1] + padded = data + "=" * divmod(len(token), 4)[1] + payload = json.loads(base64.urlsafe_b64decode(padded)) return payload["exp"] > int(time.time()) + 10 except KeyError: raise RuntimeError("Invalid JWT format") @@ -168,7 +170,7 @@ class shopping_client: f"{jh_api_uri}/user", headers={"Authorization": f"token {jh_api_token}"}, ) - + self.token = res.json()["auth_state"]["exchanged_tokens"][self.audience] except KeyError: -- GitLab