Back to home page

EIC code displayed by LXR

 
 

    


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 # from pandaclient.openidc_utils import OpenIdConnect_Utils
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 # open_id = OpenIdConnect_Utils(None, log_stream=None, verbose=verbose)
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)