@@ -34,6 +34,7 @@ export interface FirstPartyCredentialsSettings {
34
34
[ 'type' ] : 'gapi' ;
35
35
[ 'client' ] : unknown ;
36
36
[ 'sessionIndex' ] : string ;
37
+ [ 'iamToken' ] : string ;
37
38
}
38
39
39
40
export interface ProviderCredentialsSettings {
@@ -292,7 +293,13 @@ export class FirstPartyToken implements Token {
292
293
type = 'FirstParty' as TokenType ;
293
294
user = User . FIRST_PARTY ;
294
295
295
- constructor ( private gapi : Gapi , private sessionIndex : string ) { }
296
+ constructor (
297
+ private gapi : Gapi ,
298
+ private sessionIndex : string ,
299
+ private iamToken : string
300
+ ) {
301
+ console . log ( 'bingo!! this is the token' , iamToken ) ;
302
+ }
296
303
297
304
get authHeaders ( ) : { [ header : string ] : string } {
298
305
const headers : { [ header : string ] : string } = {
@@ -303,6 +310,9 @@ export class FirstPartyToken implements Token {
303
310
if ( authHeader ) {
304
311
headers [ 'Authorization' ] = authHeader ;
305
312
}
313
+ if ( this . iamToken ) {
314
+ headers [ 'X-Goog-Iam-Authorization-Token' ] = this . iamToken ;
315
+ }
306
316
return headers ;
307
317
}
308
318
}
@@ -313,10 +323,16 @@ export class FirstPartyToken implements Token {
313
323
* to applications hosted by Google.
314
324
*/
315
325
export class FirstPartyCredentialsProvider implements CredentialsProvider {
316
- constructor ( private gapi : Gapi , private sessionIndex : string ) { }
326
+ constructor (
327
+ private gapi : Gapi ,
328
+ private sessionIndex : string ,
329
+ private iamToken : string
330
+ ) { }
317
331
318
332
getToken ( ) : Promise < Token | null > {
319
- return Promise . resolve ( new FirstPartyToken ( this . gapi , this . sessionIndex ) ) ;
333
+ return Promise . resolve (
334
+ new FirstPartyToken ( this . gapi , this . sessionIndex , this . iamToken )
335
+ ) ;
320
336
}
321
337
322
338
setChangeListener ( changeListener : CredentialChangeListener ) : void {
@@ -355,7 +371,8 @@ export function makeCredentialsProvider(
355
371
) ;
356
372
return new FirstPartyCredentialsProvider (
357
373
client ,
358
- credentials [ 'sessionIndex' ] || '0'
374
+ credentials [ 'sessionIndex' ] || '0' ,
375
+ credentials [ 'iamToken' ] || ''
359
376
) ;
360
377
361
378
case 'provider' :
0 commit comments