Files
hatchet/python-sdk/hatchet_sdk/token.py
T

19 lines
572 B
Python

import base64
import json
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