summaryrefslogtreecommitdiff
path: root/tools/jwt_producer.py
diff options
context:
space:
mode:
authorKristofer Hallin <kristofer@sunet.se>2022-01-05 11:45:57 +0100
committerKristofer Hallin <kristofer@sunet.se>2022-01-05 11:45:57 +0100
commit09677d03635da2b799cf117b2127c3b197a8babf (patch)
tree11958b6b8d5778729c774887ed16adac70d0a51a /tools/jwt_producer.py
parent2ea8d3a44d89934f7b22ddb932c76322601028a5 (diff)
Added support for creating scanner and collector tokens.
Diffstat (limited to 'tools/jwt_producer.py')
-rw-r--r--tools/jwt_producer.py24
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}')