From 55b8d76d1871d55930654ea753b599ee8234ae95 Mon Sep 17 00:00:00 2001 From: Kristofer Hallin Date: Mon, 17 Jan 2022 16:43:01 +0100 Subject: New claims etc. --- tools/jwt_producer.py | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'tools') diff --git a/tools/jwt_producer.py b/tools/jwt_producer.py index 3f8094d..a8f9ded 100644 --- a/tools/jwt_producer.py +++ b/tools/jwt_producer.py @@ -1,20 +1,24 @@ +import getopt import sys + import jwt -import getopt def usage(): progname = sys.argv[0] - print(f'{progname} -p -s ' + - '-d , for example sunet.se>') + print(f'Usage: {progname} [-p ] [-w ] [-r ]\n' + + ' -p \n' + + ' -w \n' + + ' -r ') sys.exit(0) -def create_token(private_key, domain): +def create_token(private_key, write_domain, read_domain): payload = { 'type': 'access', - 'domains': [domain] # We'll just do one domain now + 'write': [write_domain], + 'read': [read_domain] } with open(private_key, "r") as fd: @@ -24,8 +28,11 @@ def create_token(private_key, domain): if __name__ == '__main__': + read_domain = '' + write_domain = '' + try: - opts, args = getopt.getopt(sys.argv[1:], 'p:d:') + opts, args = getopt.getopt(sys.argv[1:], 'p:w:r:h') except getopt.GetoptError: usage() @@ -35,11 +42,16 @@ if __name__ == '__main__': for opt, arg in opts: if opt == '-p': private_key = arg - elif opt == '-d': - domain = arg + elif opt == '-w': + write_domain = arg + elif opt == '-r': + read_domain = arg + elif opt == '-h': + usage() else: usage() - token = create_token(private_key, domain).decode('utf-8') + token = create_token(private_key, write_domain, + read_domain).decode('utf-8') print(f'{token}') -- cgit v1.1 From 870381f29b0992d5dcf12a0a5fbb756ccd66b269 Mon Sep 17 00:00:00 2001 From: Kristofer Hallin Date: Mon, 17 Jan 2022 17:01:43 +0100 Subject: Updated JWT producer. --- tools/jwt_producer.py | 39 +++++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 12 deletions(-) (limited to 'tools') diff --git a/tools/jwt_producer.py b/tools/jwt_producer.py index a8f9ded..9f30439 100644 --- a/tools/jwt_producer.py +++ b/tools/jwt_producer.py @@ -14,11 +14,22 @@ def usage(): sys.exit(0) -def create_token(private_key, write_domain, read_domain): +def create_token(private_key, write_domains, read_domains): + write_claim = list() + read_claim = list() + + if write_domains: + write_claim = write_domains.split(',') + + if read_domains: + read_claim = read_domains.split(',') + payload = { + 'sub': 'test', + 'fresh': False, 'type': 'access', - 'write': [write_domain], - 'read': [read_domain] + 'write': write_claim, + 'read': read_claim } with open(private_key, "r") as fd: @@ -28,30 +39,34 @@ def create_token(private_key, write_domain, read_domain): if __name__ == '__main__': - read_domain = '' - write_domain = '' + read_domains = None + write_domains = None + private_key = None try: opts, args = getopt.getopt(sys.argv[1:], 'p:w:r:h') except getopt.GetoptError: usage() - if len(sys.argv) != 5: - usage() - for opt, arg in opts: if opt == '-p': private_key = arg elif opt == '-w': - write_domain = arg + write_domains = arg elif opt == '-r': - read_domain = arg + read_domains = arg elif opt == '-h': usage() else: usage() - token = create_token(private_key, write_domain, - read_domain).decode('utf-8') + if not private_key: + usage() + + if not write_domains and not read_domains: + usage() + + token = create_token(private_key, write_domains, + read_domains) print(f'{token}') -- cgit v1.1 From 88b1a1aa213cc70443254a05f2a8968fb7c43a48 Mon Sep 17 00:00:00 2001 From: Kristofer Hallin Date: Tue, 18 Jan 2022 10:42:14 +0100 Subject: Added -e flag to jwt_producer. --- tools/jwt_producer.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'tools') diff --git a/tools/jwt_producer.py b/tools/jwt_producer.py index 9f30439..a024c13 100644 --- a/tools/jwt_producer.py +++ b/tools/jwt_producer.py @@ -10,7 +10,8 @@ def usage(): print(f'Usage: {progname} [-p ] [-w ] [-r ]\n' + ' -p \n' + ' -w \n' + - ' -r ') + ' -r \n' + + ' -e