#!/usr/bin/python3 import json import sys import jwt def catf(f): return f.read() def cat(filename): with open(filename, "r") as f: return catf(f) if len(sys.argv) == 1: token = catf(sys.stdin).strip() obj = jwt.decode(token, verify=False) elif len(sys.argv) == 2: token = cat(sys.argv[1]).strip() obj = jwt.decode(token, verify=False) elif len(sys.argv) == 3: token = cat(sys.argv[1]).strip() pubkey_text = cat(sys.argv[2]) opts = {"verify_aud": False, "verify_iss": False} obj = jwt.decode(token, verify=True, key=pubkey_text, options=opts) else: assert 0 json.dump(obj, sys.stdout, indent=4) sys.stdout.write("\n")