@@ -178,23 +178,38 @@ def _load_authentication(self):
178
178
"""
179
179
if not self ._user :
180
180
return
181
- if self ._load_gcp_token ():
181
+ if self ._load_auth_provider_token ():
182
182
return
183
183
if self ._load_user_token ():
184
184
return
185
- if self ._load_oid_token ():
186
- return
187
185
self ._load_user_pass_token ()
188
186
189
- def _load_gcp_token (self ):
187
+
188
+
189
+ def _load_auth_provider_token (self ):
190
190
if 'auth-provider' not in self ._user :
191
191
return
192
192
provider = self ._user ['auth-provider' ]
193
193
if 'name' not in provider :
194
194
return
195
- if provider ['name' ] != 'gcp' :
195
+ if provider ['name' ] == 'gcp' :
196
+ return self ._load_gcp_token (provider )
197
+ if provider ['name' ] == 'azure' :
198
+ return self ._load_azure_token (provider )
199
+ if provider ['name' ] == 'oidc' :
200
+ return self ._load_oid_token (provider )
201
+
202
+ def _load_azure_token (self , provider ):
203
+ if 'config' not in provider :
204
+ return
205
+ if 'access-token' not in provider ['config' ]:
196
206
return
207
+ # TODO: Refresh token here...
208
+ self .token = 'Bearer %s' % provider ['config' ]['access-token' ]
209
+ return self .token
210
+
197
211
212
+ def _load_gcp_token (self , provider ):
198
213
if (('config' not in provider ) or
199
214
('access-token' not in provider ['config' ]) or
200
215
('expiry' in provider ['config' ] and
@@ -215,17 +230,10 @@ def _refresh_gcp_token(self):
215
230
if self ._config_persister :
216
231
self ._config_persister (self ._config .value )
217
232
218
- def _load_oid_token (self ):
219
- if 'auth-provider' not in self ._user :
220
- return
221
- provider = self ._user ['auth-provider' ]
222
-
223
- if 'name' not in provider or 'config' not in provider :
233
+ def _load_oid_token (self , provider ):
234
+ if 'config' not in provider :
224
235
return
225
-
226
- if provider ['name' ] != 'oidc' :
227
- return
228
-
236
+
229
237
parts = provider ['config' ]['id-token' ].split ('.' )
230
238
231
239
if len (parts ) != 3 : # Not a valid JWT
0 commit comments