diff options
Diffstat (limited to 'tools/jwt_producer.py')
-rw-r--r-- | tools/jwt_producer.py | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/tools/jwt_producer.py b/tools/jwt_producer.py index 3f8094d..ea033a6 100644 --- a/tools/jwt_producer.py +++ b/tools/jwt_producer.py @@ -1,20 +1,23 @@ +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'{progname} -p <path to private key> ' + + '-d <domain, for example sunet.se> ', + '-t <type, can be access or scanner>') sys.exit(0) -def create_token(private_key, domain): +def create_token(private_key, token_type, domain): payload = { 'type': 'access', - 'domains': [domain] # We'll just do one domain now + 'domains': [domain], # We'll just do one domain now + 'user': token_type } with open(private_key, "r") as fd: @@ -25,11 +28,11 @@ def create_token(private_key, domain): if __name__ == '__main__': try: - opts, args = getopt.getopt(sys.argv[1:], 'p:d:') + opts, args = getopt.getopt(sys.argv[1:], 'p:d:t:') except getopt.GetoptError: usage() - if len(sys.argv) != 5: + if len(sys.argv) != 7: usage() for opt, arg in opts: @@ -37,9 +40,14 @@ if __name__ == '__main__': private_key = arg elif opt == '-d': domain = arg + elif opt == '-t': + token_type = arg + + if token_type != "access" and token_type != "scanner": + usage() else: usage() - token = create_token(private_key, domain).decode('utf-8') + token = create_token(private_key, token_type, domain).decode('utf-8') print(f'{token}') |