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