Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google Firebase管理员SDK服务帐户已过期?_Firebase_Firebase Cloud Messaging_Firebase Admin - Fatal编程技术网

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

Google Firebase管理员SDK服务帐户已过期?,firebase,firebase-cloud-messaging,firebase-admin,Firebase,Firebase Cloud Messaging,Firebase Admin,我正在使用google firebase admin sdk,并按照说明进行设置。我通过FCM发送消息和通知,这没有问题,但最近我注意到我们的指标显示没有向客户端设备发送通知 查看了Node.js输出,我看到: errorInfo: { code: 'messaging/invalid-apns-credentials', message: 'Request is missing required authentication credential. Expected OAuth

我正在使用google firebase admin 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,则不需要任何此类内容。以下是我遵循的指南:

如果我需要添加一些额外的代码,以便在证书过期和续订时捕获,有人可以参与进来吗


谢谢

查看
errorInfo
code
键,我注意到它上面写着:
消息传递/无效的apns凭据
,每个
errorInfo
的更多信息可以在这里找到:

此特定的
errorCode
表示:

消息传递/无效的apns凭据
-无法发送针对iOS设备的消息,因为所需的apns SSL证书未上载或已过期。检查您的开发和生产证书的有效性

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


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

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

无论何时更新APNS证书,该应用程序的所有版本 had推送通知将再次收到通知。有 无需为此更新应用程序


不要认为这与服务器上的Firebase设置有关,但与在iOS应用程序中设置Firebase的方式有关:
无法发送针对iOS设备的消息,因为所需的APNs SSL证书未上载或已过期。检查您的开发和生产证书的有效性。
@francisco mateo这不是我看到的错误,我有iOS和android设备,并且没有收到任何通知。我根本不知道你写的东西与此有什么关系。我看到了相同的情况,我在
errorInfo
中看到了错误代码
消息传递/无效的apns凭据
,可以追溯到这里的文档:这与上面提到的错误@FranciscoMateo有关。