我正在尝试创建一个应用程序,用户可以在其中对 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: ???})
答案 0 :(得分:0)
无法使用 Firebase 身份验证来访问 Google Cloud 的其他产品,例如 BigQuery。 BigQuery 需要 OAuth2 令牌,而 Firebase 使用 JWT。没有办法将后者转换为前者。
如果您的用户通过社交提供商登录 Firebase,他们可能能够使用来自该提供商的 OAuth2 令牌来访问 BigQuery。但在这种情况下,这与他们的 Firebase 身份验证会话无关。