Firebase错误:来自APNS或Web推送服务的身份验证错误

Firebase错误:来自APNS或Web推送服务的身份验证错误,firebase,firebase-authentication,firebase-cloud-messaging,Firebase,Firebase Authentication,Firebase Cloud Messaging,在节点js中运行以下行后: import * as admin from "firebase-admin"; import * as serviceAccount from "../../firebase_service_account_key.json"; const app = admin.initializeApp({ credential: admin.credential.cert(serviceAccount as any), databaseURL: "https://m

在节点js中运行以下行后:

import * as admin from "firebase-admin";
import * as serviceAccount from "../../firebase_service_account_key.json";

const app = admin.initializeApp({
  credential: admin.credential.cert(serviceAccount as any),
  databaseURL: "https://my-app-path.firebaseio.com"
});

admin.messaging().send({
    token: "known-good-token",
    notification: {
        title: "Test Push Note",
        body: "Here is some text"
    }
});
我得到了一个错误:

Error: Auth error from APNS or Web Push Service 
Raw server response: 
"{
  "error":{
    "code":401,
    "message":"Auth error from APNS or Web Push Service",
    "status":"UNAUTHENTICATED",
    "details"[
      {
        "@type":"type.googleapis.com/google.firebase.fcm.v1.FcmError",
        "errorCode":"THIRD_PARTY_AUTH_ERROR"
      },
      {
        "@type":"type.googleapis.com/google.firebase.fcm.v1.ApnsError",
        "statusCode":403,
        "reason":"InvalidProviderToken"
      }
    ]
  }
}"
我已经在Firebase的“设置>云消息”部分的ios项目中添加了“APNs身份验证密钥”。我还正确下载并导入了我的服务帐户json文件

在研究方面,我试着查找错误

  • 对于
    InvalidProviderToken
    错误,似乎表明我正在使用旧的令牌。这是完全可能的,但我的应用程序和数据库上的日志似乎匹配,所以它似乎关闭了

  • 至于
    第三方认证错误
    ,谷歌没有给我任何点击率。我发现的最接近的东西是,以下文字可能是罪魁祸首(编辑:这不是问题):

身份验证/未授权域

如果应用程序域未授权用于Firebase项目的OAuth操作,则引发。从Firebase控制台编辑授权域列表


是否有人有更多关于此错误的详细信息,可以帮助我了解其真相?

您是否调用了
admin.initializeApp()

有许多官方样品

见:


如果您的iOS应用程序设置在以下任何一项中出现错误,则会出现此错误:

在设置>常规>您的应用>iOS应用中找到:

  • 应用商店ID
  • 束ID
  • 团队ID

添加APNs密钥时(上传到云消息>APNs身份验证密钥):

  • 团队ID(应根据上面的ios应用程序信息自动设置)
  • 密钥Id(通常是密钥的名称,最好在创建密钥时获取)

前几天我一切正常,所以所有的设置都很好。但是今天我犯了这个错误

以下是为我解决问题的方法:

  • 撤销的APNs密钥
  • 创建了一个新的并下载了它
  • 已删除旧版本并将其上载到Firebase仪表板/设置/ 云消息
  • 转到设置/服务帐户并生成新私钥
  • 将其添加到我的云功能项目(重命名为 service-account.json(在我的例子中)
  • 保存文件并部署函数:
    firebase deploy--only
    功能

  • 我确实调用了
    initializeApp()
    函数。我将在周一检查这些链接,看看它们是否包含与我所拥有的内容不同的内容。虽然你的答案不正确,但我无法收回赏金,因此这是免费的。恭喜,作为补充评论(b/c我花了几分钟才弄明白这一点),你需要上传你生成的APNs密钥到云消息=>APNs身份验证密钥这篇文章结束了3-4天拼命用react native的firebase显示IOS通知的过程-谢谢你先生你是angelIn我的具体案例,我刚刚重命名了我的bundle ID,但忘记在Xcode中这么做了。所以Firebase、Google服务文件中的应用程序ID、密钥和APNs配置都设置好了,但我只需要在Xcode中更新bundle ID就可以了。如果你有多个ios应用程序,那么你需要上传每个应用程序的APNs认证密钥。很遗憾,每个Firebase项目有30个应用程序的硬限制,因为我计划使用100多个应用程序。这意味着我需要将我的项目分为4个以上的项目。您好,您的请求总是发送失败,还是只有少数几个?我遇到了类似的问题。遇到了类似的问题,在我的服务器上它工作了一整天,现在不会了。我做了上面所有的步骤,但得到了错误