【问题标题】:Firebase Admin SDK initializeApp returns invalid_tokenFirebase Admin SDK initializeApp 返回 invalid_token
【发布时间】:2017-07-14 23:11:31
【问题描述】:
var admin = require("firebase-admin");
var serviceAccount = require("service_account.json")

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://******.firebaseio.com"
});

返回:

错误:通过 “凭据”属性未能获取有效的 Google OAuth2 访问权限 带有以下错误的令牌:“获取访问令牌时出错: invalid_grant(无效的 JWT:令牌必须是短期令牌,并且在 合理的时间范围)”。此错误的最可能原因是使用 已撤销的证书密钥文件。确保密钥 ID 您的密钥文件仍然存在于 https://console.firebase.google.com/iam-admin/serviceaccounts/project。 如果没有,请在以下位置生成一个新的密钥文件 https://console.firebase.google.com/project/_/settings/serviceaccounts/adminsdk.

service_account 和密钥 ID 存在。

【问题讨论】:

  • 服务器时间未同步。该线程有助于解决,stackoverflow.com/questions/41712965/…
  • 我会确保将此案例添加到即将发布的版本的错误消息中,以便未来的开发人员不会遇到此问题。感谢您报告!我很高兴你已经弄清楚了。

标签: firebase firebase-admin


【解决方案1】:

我在使用 node js firebase SDK 时遇到了同样的问题。

在错误消息中有两个可能的过程 (1) 错误或过期的凭据。 (2)重新同步服务器上的时间

第二个错误是由于您计算机上的日期和时间错误, 您可以通过执行以下操作强制 Windows 10 时间与时间服务器同步:

按照下面提到的步骤。

Windows + X 并选择命令提示符(管理员)。

键入以下每个命令并按回车键。

net stop w32time

w32tm /unregister

w32tm /register

net start w32time

w32tm /resync

重新启动计算机以再次测试问题。

尝试再次提出您的请求,它应该可以工作。

【讨论】:

    【解决方案2】:

    同样的事情也发生在我身上。我有一个结构,管理员是 nodejs,客户端是 android 和 ios。当我尝试在本地主机中运行时发生这种情况,然后我将管理员移至 heroku 并解决了。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-07
    • 2018-03-20
    • 2021-12-11
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 2021-07-29
    • 2020-04-10
    相关资源
    最近更新 更多