diff options
-rw-r--r-- | tools/jwt_producer.py | 30 |
1 files changed, 21 insertions, 9 deletions
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 <path to public key> -s <path to private key>' + - '-d <domain>, for example sunet.se>') + print(f'Usage: {progname} [-p <path>] [-w <value>] [-r <value>]\n' + + ' -p <path to private key>\n' + + ' -w <write, comma separated list of domains>\n' + + ' -r <read, comma separated list of domains>') 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}') |