From 4a52a71956a8d46fcb7294ac71734504bb09bcc2 Mon Sep 17 00:00:00 2001 From: S. Solomon Darnell Date: Fri, 28 Mar 2025 21:52:21 -0500 Subject: two version of R2R are here --- .../python3.12/site-packages/hatchet_sdk/token.py | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .venv/lib/python3.12/site-packages/hatchet_sdk/token.py (limited to '.venv/lib/python3.12/site-packages/hatchet_sdk/token.py') diff --git a/.venv/lib/python3.12/site-packages/hatchet_sdk/token.py b/.venv/lib/python3.12/site-packages/hatchet_sdk/token.py new file mode 100644 index 00000000..313a6671 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/hatchet_sdk/token.py @@ -0,0 +1,27 @@ +import base64 +import json + + +def get_tenant_id_from_jwt(token: str) -> str: + claims = extract_claims_from_jwt(token) + + return claims.get("sub") + + +def get_addresses_from_jwt(token: str) -> (str, str): + claims = extract_claims_from_jwt(token) + + return claims.get("server_url"), claims.get("grpc_broadcast_address") + + +def extract_claims_from_jwt(token: str): + parts = token.split(".") + if len(parts) != 3: + raise ValueError("Invalid token format") + + claims_part = parts[1] + claims_part += "=" * ((4 - len(claims_part) % 4) % 4) # Padding for base64 decoding + claims_data = base64.urlsafe_b64decode(claims_part) + claims = json.loads(claims_data) + + return claims -- cgit v1.2.3