diff options
Diffstat (limited to 'jwt-decode')
-rwxr-xr-x | jwt-decode | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/jwt-decode b/jwt-decode new file mode 100755 index 0000000..b57362b --- /dev/null +++ b/jwt-decode @@ -0,0 +1,38 @@ +#!/usr/bin/python + +import json +import sys + +import Crypto.PublicKey.RSA + +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') |