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

时间:2019-05-03 22:33:44

标签: firebase firebase-authentication firebase-cloud-messaging

在node-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错误,this answer似乎表明我正在使用旧令牌。完全有可能,但是我的应用程序和数据库上的日志似乎匹配,因此似乎不可用。

  • 对于THIRD_PARTY_AUTH_ERROR,谷歌没有给我任何点击。我发现最接近的东西是this,以下文字可能是罪魁祸首(编辑:这不是问题):

  

auth / unauthorized-domain

     

如果未为您的Firebase项目的OAuth操作授权应用程序域,则抛出该错误。从Firebase控制台编辑授权域的列表。

是否有人对此错误有更多详细信息,这可能有助于我深入了解此错误?

3 个答案:

答案 0 :(得分:2)

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

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

  • 应用商店ID
  • 捆绑ID
  • 团队ID

enter image description here

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

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

enter image description here

答案 1 :(得分:1)

前几天,一切都对我有用,所以所有设置都很好。但是今天我遇到了这个错误。

这就是为我解决的问题:

  1. 已撤销的APNs密钥
  2. 创建并下载了新的
  3. 删除了旧版本并将其上传到Firebase仪表板/设置/ 云消息传递
  4. 转到“设置/服务帐户”并生成新的私钥
  5. 将其添加到我的Cloud Functions项目中(重命名为 就我而言是service-account.json)
  6. 保存文件并部署功能:firebase deploy --only functions

答案 2 :(得分:0)