Как пройти аутентификацию в облачной функции с помощью клиента node.js

У меня есть приложение node.js, работающее в GKE, которое должно иметь возможность выполнять межсерверный вызов облачной функции, для которой настроено разрешение, позволяющее вызывать только учетную запись службы, настроенную в модуле GKE. Таким образом, в основном, node.js имеет переменную окружения GOOGLE_APPLICATION_CREDENTIALS указывая на файл ключа json, смонтированный на томе.

Также для локальной разработки было бы неплохо, если бы он просто использовал мои учетные данные, хранящиеся в конфигурации gcloud sdk.

Я выяснил, как выполнить аутентификацию с использованием учетных данных учетной записи службы. Вот код, предполагая, что GOOGLE_APPLICATION_CREDENTIALS Переменная окружения содержит путь к json-файлу учетного ключа:

import { GoogleAuth } from 'google-auth-library'

    const url = 'https://REGION-PROJECT.cloudfunctions.net/RECEIVING_FUNCTION'
    const auth = new GoogleAuth({
        keyFile: process.env.GOOGLE_APPLICATION_CREDENTIALS,
        clientOptions: {
            additionalClaims: {
                target_audience: url
            }
        }
    })
    const client = await auth.getClient()

    const res = await client.request({ url })
    console.log(res.data)

Небольшое изменение заключается в следующем:

import { JWT } from 'google-auth-library'
    const client = new JWT({
        keyFile: process.env.GOOGLE_APPLICATION_CREDENTIALS,
        additionalClaims: {
            target_audience: url
        }
    })

Но я все еще не уверен, как это сделать с учетными данными учетной записи пользователя в локальной разработке. Наиболее близким решением является использование cURL:

        curl -i https://REGION-PROJECT.cloudfunctions.net/RECEIVING_FUNCTION \
        -H "Authorization: bearer $(gcloud auth print-identity-token)"

Так что есть способ, но как мне сделать это в JavaScript?