diff options
Diffstat (limited to 'tools/jwt_producer.py')
-rw-r--r-- | tools/jwt_producer.py | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/tools/jwt_producer.py b/tools/jwt_producer.py deleted file mode 100644 index a024c13..0000000 --- a/tools/jwt_producer.py +++ /dev/null @@ -1,79 +0,0 @@ -import getopt -import sys - -import jwt - - -def usage(): - progname = sys.argv[0] - - 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>\n' + - ' -e <print export statement') - sys.exit(0) - - -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_claim, - 'read': read_claim - } - - with open(private_key, "r") as fd: - key = fd.read() - - return jwt.encode(payload=payload, algorithm='ES256', key=key) - - -if __name__ == '__main__': - read_domains = None - write_domains = None - private_key = None - export = False - - try: - opts, args = getopt.getopt(sys.argv[1:], 'p:w:r:eh') - except getopt.GetoptError: - usage() - - for opt, arg in opts: - if opt == '-p': - private_key = arg - elif opt == '-w': - write_domains = arg - elif opt == '-r': - read_domains = arg - elif opt == '-e': - export = True - elif opt == '-h': - usage() - else: - usage() - - if not private_key: - usage() - - if not write_domains and not read_domains: - usage() - - token = create_token(private_key, write_domains, - read_domains) - - if export: - print(f'export JWT_TOKEN={token}') - else: - print(f'{token}') |