提问者:小点点

Google Firebase管理员SDK服务帐户过期?


我正在使用谷歌火力管理sdk,并按照说明进行设置。我通过FCM发送消息和通知,这没有问题,但最近我注意到我们的指标显示没有通知发送到客户端设备。

查看了Node. js输出并看到:

errorInfo:
   { code: 'messaging/invalid-apns-credentials',
     message: 'Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.' },
  codePrefix: 'messaging' }

请记住,我最初使用的凭据文件正在工作,环境没有任何变化。

查看文档,除了提供Firebase admin sdk要求开始的json文件之外,没有任何关于令牌过期或处理任何类型的身份验证的内容:

var admin = require("firebase-admin");

var serviceAccount = require("path/to/serviceAccountKey.json");

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://my-app-id.firebaseio.com"
});

如果我登录到Firebase控制台并检查服务号,我可以看到它,我唯一的选择是生成一个新的私钥(蓝色大按钮)。

我应该做些什么来允许凭据保持有效吗?更新令牌还是什么?FCM安装文档中没有提到这一点,这似乎暗示如果您使用官方的Firebase admin sdk,则不需要任何此类性质的东西。这是我遵循的指南:https://firebase.google.com/docs/admin/setup

如果我需要添加一些额外的代码来捕获证书到期和续订,任何人都可以权衡吗?

谢谢!


共2个答案

匿名用户

查看errorInfocode键,我注意到它说:消息传递/无效apns-凭证,每个errorInfocode的更多信息可以在这里找到:https://firebase.google.com/docs/cloud-messaging/admin/errors

这个特定的errorCode说:

无法发送针对iOS设备的邮件,因为所需的APNSSL证书未上载或已过期。请检查您的开发和生产证书的有效性。

就我个人而言,我的生产APNs证书有问题,并且能够通过developer.apple.com重新生成新证书来解决它

为了回答您最初的问题,APN证书每年都会过期,因此您需要每年重新生成并重新上传它们。

匿名用户

如果为同一AppID创建的新推送证书包含现有应用的捆绑包ID,并且推送证书仅在Firebase中使用,则旧版本的应用应继续使用新证书接收推送通知,无论您使用哪个证书

每当您更新APNS证书时,所有需要消息推送的应用程序版本都会再次收到通知。无需为此更新应用程序。