问题
After running the following line in 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"
}
});
I'm getting the error:
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"
}
]
}
}"
I've added an "APNs Authentication Key" to my ios project under the Settings > Cloud Messaging section of Firebase. I've also properly downloaded and imported my service account json file.
In terms of research, I've tried looking up the errors.
For the
InvalidProviderToken
error, this answer seems to indicate I'm using an old token. This is totally possible, but the logs on my app and database appear to match, so it seems off.As for the
THIRD_PARTY_AUTH_ERROR
, google gave me no hits. The closest thing I found was this, and the following text might be the culprit (EDIT: it's not the issue):
auth/unauthorized-domain
Thrown if the app domain is not authorized for OAuth operations for your Firebase project. Edit the list of authorized domains from the Firebase console.
Does anyone have anymore details on this error which might help me get to the bottom of it?
回答1:
This error arises if your app setup for iOS has an error in any one of the following:
Found in Settings > General > Your Apps > iOS Apps:
- App Store ID
- Bundle ID
- Team ID
When adding an APNs key (Uploading to Cloud Messaging > APNs Authentication Key):
- Team ID (should auto set based off ios app info above)
- Key Id (often is in the name of the key, best to grab when creating it)
回答2:
Everything worked for me the other day, so all setup was fine. But today I got this error.
Here's what solved it for me:
- Revoked APNs Key
- Created new one and downloaded it
- Deleted old one and Uploaded it to Firebase Dashboard / Settings / Cloud Messaging
- Gone to Settings / Service Accounts and generated new private key
- Added it to my Cloud Functions project (renamed it to service-account.json in my case)
- Saved the files and deployed the functions:
firebase deploy --only functions
回答3:
Did you call admin.initializeApp()
?
There are many official samples.
See:
- https://github.com/firebase/functions-samples/blob/master/fcm-notifications/functions/index.js#L20
- https://github.com/firebase/functions-samples/tree/master/fcm-notifications
- https://github.com/firebase/functions-samples
- https://github.com/firebase/quickstart-js/tree/master/messaging
来源:https://stackoverflow.com/questions/55977827/firebase-error-auth-error-from-apns-or-web-push-service