summaryrefslogtreecommitdiff
path: root/tools/jwt_producer.py
diff options
context:
space:
mode:
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}')