【问题标题】:How to initialize Firebase Admin SDK with Google OAuth Token?如何使用 Google OAuth 令牌初始化 Firebase Admin SDK?
【发布时间】:2020-09-11 05:15:41
【问题描述】:

我正在使用 node.js 和 passport-google-oauth20 包来在我的 Web 控制台上使用登录系统。

通过护照,我得到了一个 Google 帐户的 oauth 令牌(访问令牌和刷新令牌)并想用它初始化 firebase admin sdk。

var refreshToken; // Get refresh token from OAuth2 flow

admin.initializeApp({
  credential: admin.credential.refreshToken(refreshToken),
  databaseURL: 'https://<DATABASE_NAME>.firebaseio.com'
});

这是我可以在 Google Firebase 网站上找到的代码 (https://firebase.google.com/docs/admin/setup)。所以我需要一个 refreshToken 来初始化 Firebase Admin SDK。

但是代码出错了 解析刷新令牌文件失败:错误:ENOENT:没有这样的文件或目录,打开“REFRESHTOKEN”

我尝试使用包含 refreshtoken、client_id、client_secret、project_id、类型的 JSON 对象设置参数。但是还是不行。

如何使用 google oauth 令牌初始化 firebase admin sdk?

补充:由于安全问题,我不打算使用服务帐户进行服务器端身份验证。

【问题讨论】:

    标签: node.js firebase google-cloud-platform google-cloud-firestore firebase-admin


    【解决方案1】:

    传递给admin.credential.refreshToken() 方法的参数必须是具有client_idclient_secretrefresh_tokentype 属性的对象。或者它必须是包含此类对象的文件的路径。

    【讨论】:

      猜你喜欢
      • 2021-07-19
      • 2018-05-23
      • 2021-05-17
      • 2020-01-04
      • 1970-01-01
      • 2020-04-30
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多