部署 Cloud Functions 后出现错误:无法刷新访问令牌。

Posted

技术标签:

【中文标题】部署 Cloud Functions 后出现错误:无法刷新访问令牌。【英文标题】:After deploy Cloud Functions error: Could not refresh access token. 【发布时间】:2018-07-11 00:49:38 【问题描述】:

我已经用 Firebase Cloud Functions 进行了一段时间的试验,今天我在 Firebase 控制台 > 功能 > 日志上部署后,对我的 index.json 文件(在要设置的文档中添加了一个字段)进行了小改动我遇到了这个奇怪的错误:

Auth error:Error: Could not refresh access token.

和:

Error: 16 UNAUTHENTICATED: Getting metadata from plugin failed with error: Could not refresh access token.
at new createStatusError (/user_code/node_modules/firebase-admin/node_modules/grpc/src/client.js:65:15)
at /user_code/node_modules/firebase-admin/node_modules/grpc/src/client.js:568:15

以下是我尝试过但不起作用的列表:

    还原 index.json 中的更改 部署每个功能(让问题变得更糟,现在我的云功能都不起作用) 为@google-cloud/storage 生成一个新的keyFilename npm 更新 firebase-admin (重新启动)

我最后一次成功完成firebase deploy 是在昨晚。 我在linux上。

谢谢。

【问题讨论】:

github.com/firebase/firebase-functions/issues/121 感谢链接,不幸的是,他们建议删除的文件在我的系统上不存在。 我自己和其他几个今天下午遇到问题的开发者在此发表了评论。 这些错误从我的日志中显示的下午 12:35 到 12:45(今天 2018 年 1 月 31 日)之间开始。我希望这与我们今天的超级蓝血月无关! status.firebase.google.com/incident/Functions/18011 是跟踪事件的状态页面 【参考方案1】:

感谢大家的报告,无论是在这里,尤其是通过我们的技术支持渠道 - 这些真的很有帮助。

我们认为这个问题是由我们的 Node.js 依赖链中的一个问题引起的,特别是对于 Firestore 的用户而言。我们刚刚发布了https://www.npmjs.com/package/google-gax 0.14.5 来解决这个问题。请:

要么等待 npm 缓存获取新版本,要么在 package.json 中明确请求 google-gax 0.14.5。 重新部署您的函数。

这应该可以解决问题。如果您仍然遇到问题,请告诉我们!

【讨论】:

“依赖项”:“firebase-admin”:“^8.10.0”,“firebase-functions”:“^3.6.1”,“google-gax”:“0.14.5” ,部署失败。【参考方案2】:

我们目前的怀疑是,一个非常嵌套的依赖项有一个不遵循 semver 的重大更改。我们正在调查并希望尽快修复。当此修复推出时,您只需重新部署即可。

【讨论】:

以上是关于部署 Cloud Functions 后出现错误:无法刷新访问令牌。的主要内容,如果未能解决你的问题,请参考以下文章

尝试通过 Firebase Cloud Functions (Android) 发送通知后出现错误

Firebase Cloud Functions 部署错误 - 超出配额

functions/lib/functions/src/index.ts 不存在,无法部署 Cloud Functions

使用TensorFlow作为依赖项部署Google Cloud Functions

Cloud Functions 在 Windows 上的 lint 期间部署错误:“enoent ENOENT:没有这样的文件或目录”

Google Cloud Functions 部署问题