@@ -80,15 +80,25 @@ def get_toolbox_binary_url(toolbox_version: str) -> str:
8080
8181def get_auth_token (client_id : str ) -> str :
8282 """Retrieves an authentication token"""
83- request = google .auth .transport .requests .Request ()
84- credentials = compute_engine .IDTokenCredentials (
85- request = request ,
86- target_audience = client_id ,
87- use_metadata_identity_endpoint = True ,
88- )
89- if not credentials .valid :
90- credentials .refresh (request )
91- return credentials .token
83+ try :
84+ # Try getting the token using gcloud (for local development)
85+ result = subprocess .run (
86+ ["gcloud" , "auth" , "print-identity-token" ],
87+ capture_output = True ,
88+ text = True ,
89+ check = True ,
90+ )
91+ return result .stdout .strip ()
92+ except (subprocess .CalledProcessError , FileNotFoundError ):
93+ request = google .auth .transport .requests .Request ()
94+ credentials = compute_engine .IDTokenCredentials (
95+ request = request ,
96+ target_audience = client_id ,
97+ use_metadata_identity_endpoint = True ,
98+ )
99+ if not credentials .valid :
100+ credentials .refresh (request )
101+ return credentials .token
92102
93103
94104#### Define Fixtures
0 commit comments