import { AuthClient, DefaultTransporter, IdTokenClient } from 'google-auth-library'; const googleAuth = new GoogleAuth(); const idTokenClient = await googleAuth.getIdTokenClient('https://www.example.com/'); export class CustomTransporter extends DefaultTransporter { configure(opts?: GaxiosOptions | undefined): GaxiosOptions { const options = super.configure(opts); // If we have a default then overwrite the value. if (this.defaults.headers?.['User-Agent']) { if (!options.headers) { options.headers = {}; } options.headers['User-Agent'] = this.defaults.headers['User-Agent']; } return options; } } idTokenClient.transporter = new CustomTransporter(); idTokenClient.gaxios.defaults.headers = { 'User-Agent': 'foo/1', }; idTokenClient.request({ method: 'GET', url: 'https://www.example.com/', });