使用 firebase auth 验证 google 云 bigquery 库 - NodeJS

Using firebase auth to authenticate google cloud bigquery library - NodeJS

我正在尝试创建一个应用程序,用户可以在其中对 bigquery 表执行查询。但是,NodeJS BigQuery 库需要使用 credentials 对象进行身份验证。

如何使用使用 firebase.auth() 登录的同一用户通过 bigquery 进行身份验证?

const {BigQuery} = require('@google-cloud/bigquery')
const firebase = require('firebase')

const app = firebase.initializeApp(..);

await app.auth().signInWithPopup(..)

const bigQuery = new BigQuery({credentials: ???})

无法使用 Firebase 身份验证访问 Google Cloud 的其他产品,例如 BigQuery。 BigQuery 需要 OAuth2 令牌,而 Firebase 使用 JWT。无法将后者转换为前者。

如果您的用户通过社交提供商登录 Firebase,他们可能能够使用来自该提供商的 OAuth2 令牌访问 BigQuery。但在那种情况下,这与他们的 Firebase 身份验证会话无关。