File indexing completed on 2026-04-09 07:58:22
0001
0002 import sys
0003 import logging
0004 import jwt
0005 import json
0006 import base64
0007 import datetime
0008
0009 from idds.common.authentication import OIDCAuthenticationUtils
0010
0011
0012 from pandaclient import Client
0013
0014
0015 logging.basicConfig(stream=sys.stderr,
0016 level=logging.DEBUG,
0017 format='%(asctime)s\t%(threadName)s\t%(name)s\t%(levelname)s\t%(message)s')
0018
0019 logger = logging.getLogger('my_logger')
0020
0021 token_file = '~/.idds/.token'
0022
0023 oidc_util = OIDCAuthenticationUtils()
0024 status, token = oidc_util.load_token(token_file)
0025 print(status)
0026 print(token)
0027
0028 id_token = token['id_token']
0029 enc = id_token.split('.')[1]
0030 enc += '=' * (-len(enc) % 4)
0031 dec = json.loads(base64.urlsafe_b64decode(enc.encode()))
0032 print(dec)
0033 exp_time = datetime.datetime.utcfromtimestamp(dec['exp'])
0034 print(exp_time)
0035
0036 refresh_token = token['refresh_token']
0037 dec_refresh_token = jwt.decode(refresh_token, options={"verify_signature": False})
0038 print(dec_refresh_token)
0039
0040
0041
0042 oidc = Client._Curl().get_oidc(logger)
0043 print(oidc)
0044
0045 oidc.cleanup()
0046 status, output = oidc.run_device_authorization_flow()
0047 print(status)
0048 print(output)