Firebase 云消息传递:请求缺少所需的身份验证凭据



我正在努力让Firebase Cloud Messaging sdk与Nuxt JS一起使用

我不断收到" 检索令牌时出错。 Firebase 错误:消息传递:为用户订阅 FCM 时出现问题:请求缺少所需的身份验证凭据。预期的 OAuth 2 访问令牌、登录 Cookie 或其他有效的身份验证凭据。">

这是我在 fcm 中的代码.js我在 nuxt.config 中作为插件运行.js

import firebase from "../firebase/init";
firebase
.messaging()
.usePublicVapidKey(
"BDYE2EYHdIp8qHjTKcJYPvO4PgaAH2pSruP55FOtNs5jWsgdeg7YK6OgJ0daSu21kN7aSzU19NRXRqC4bfITZYQ "
);
firebase
.messaging()
.getToken()
.then((currentToken) => {
console.log(currentToken);
if (currentToken) {
sendTokenToServer(currentToken);
updateUIForPushEnabled(currentToken);
} else {
// Show permission request.
console.log(
"No Instance ID token available. Request permission to generate one."
);
// Show permission UI.
updateUIForPushPermissionRequired();
setTokenSentToServer(false);
}
})
.catch((err) => {
console.log("An error occurred while retrieving token. ", err);
showToken("Error retrieving Instance ID token. ", err);
setTokenSentToServer(false);
});

同时,如果您想知道用户是否经过身份验证。用户肯定是经过身份验证的,因为我能够访问我保护的页面中的 firestore 数据和访问路由,并且我可以在我的 vuex 商店中看到 UID 详细信息。所以那边没有问题。我也尝试删除usePublicVapidKey((行,它也不起作用。

谢谢。

发现问题

firebase
.messaging()
.usePublicVapidKey(
"BDYE2EYHdIp8qHjTKcJYPvO4PgaAH2pSruP55FOtNs5jWsgdeg7YK6OgJ0daSu21kN7aSzU19NRXRqC4bfITZYQ "
);

在 Firebase 控制台中,密钥对旁边会显示一个复制按钮。当单击它并粘贴时....它在密钥对的末尾添加一个随机空格。

确保您使用的公钥来自Firebase控制台,我遇到了同样的问题,我正在使用已安装的网络推送包中的公钥

最新更新