get_globus_identities_from_sub.py -s <globus sub>
get_refresh_token.py
#!/usr/bin/python # # get_refresh_token.py # import os import globus_sdk from globus_sdk import AuthClient,AccessTokenAuthorizer CLIENT_ID = os.environ['CLIENT_ID'] client = globus_sdk.NativeAppAuthClient(CLIENT_ID) client.oauth2_start_flow(refresh_tokens=True) authorize_url = client.oauth2_get_authorize_url() print('Please go to this URL and login: {0}'.format(authorize_url)) # this is to work on Python2 and Python3 -- you can just use raw_input() or # input() for your specific version get_input = getattr(__builtins__, 'raw_input', input) auth_code = get_input( 'Please enter the code you get after login here: ').strip() token_response = client.oauth2_exchange_code_for_tokens(auth_code) print token_response.by_resource_server['auth.globus.org']
get_globus_identities_from_sub.py
#!/usr/bin/python import os import argparse import globus_sdk from globus_sdk import AuthClient,AccessTokenAuthorizer parser = argparse.ArgumentParser(description='Returns Globus user identity fields') parser.add_argument('-s', dest='globus_sub', required=True, help='Globus sub to look up') args = parser.parse_args() CLIENT_ID = os.environ['CLIENT_ID'] client = globus_sdk.NativeAppAuthClient(CLIENT_ID) my_authorizer = globus_sdk.RefreshTokenAuthorizer( os.environ['REFRESH_TOKEN'], client, access_token=os.environ['ACCESS_TOKEN'], expires_at=int(os.environ['EXPIRES_AT_S'])) ac = AuthClient(authorizer=my_authorizer) r = ac.get_identities(ids=args.globus_sub) print r.data['identities']