Firebase id 令牌生成中断
Firebase id token generation is broken
上下文
我正在使用 firebase 消息制作一个 Angular 网络应用程序。
我按照教程和文档成功配置了 firebase(我猜)。
在客户端生成一个 firebase id 令牌,然后用它订阅一些主题,然后接收推送消息,一切都很好。
问题
但是自 2 天以来,我的令牌似乎在 Chrome 浏览器 上无效 。当我使用 getToken() 函数(来自 'firebase/messaging')时,它仍然正确生成并打印在控制台中。
但是当我尝试使用它来订阅服务器端(NestJS 应用程序)的主题时 subscribeToTopic(topicName)
来自 'firebase-admin'
我每次都会收到以下错误
code: 'messaging/registration-token-not-registered',
message: 'The provided registration token is not registered. A previously valid registration token can be unregistered for a variety of reasons. See the error documentation for more details. Remove this registration token and stop using it to send messages.'
我明白错误的意思,但我目前无法删除令牌并让 firebase 生成另一个令牌。
我尝试了以下功能来删除令牌但没有成功
getToken(getMessaging(), { vapidKey: environment.firebase.vapidKey }).then(
(token) => deleteToken(getMessaging())
);
FirebaseError: Messaging: A problem occurred while unsubscribing the user from FCM: FirebaseError: Messaging: A problem occurred while unsubscribing the user from FCM: Requested entity was not found. (messaging/token-unsubscribe-failed). (messaging/token-unsubscribe-failed)
我的配置和代码似乎是正确的,因为如果我 运行 我的应用程序在 Firefox 浏览器上,一切正常并且令牌是正确的
我怎样才能解决这个问题 ?有没有办法强制 firebase 刷新客户端令牌并生成另一个 valid 令牌?
我终于解决了这个问题,转到 F12(开发人员工具)> 应用程序 > 存储 > 清除站点数据。
Firebase 现在生成一个新的有效令牌,可用于调用 API 函数。
上下文
我正在使用 firebase 消息制作一个 Angular 网络应用程序。
我按照教程和文档成功配置了 firebase(我猜)。
在客户端生成一个 firebase id 令牌,然后用它订阅一些主题,然后接收推送消息,一切都很好。
问题
但是自 2 天以来,我的令牌似乎在 Chrome 浏览器 上无效 。当我使用 getToken() 函数(来自 'firebase/messaging')时,它仍然正确生成并打印在控制台中。
但是当我尝试使用它来订阅服务器端(NestJS 应用程序)的主题时 subscribeToTopic(topicName)
来自 'firebase-admin'
我每次都会收到以下错误
code: 'messaging/registration-token-not-registered',
message: 'The provided registration token is not registered. A previously valid registration token can be unregistered for a variety of reasons. See the error documentation for more details. Remove this registration token and stop using it to send messages.'
我明白错误的意思,但我目前无法删除令牌并让 firebase 生成另一个令牌。 我尝试了以下功能来删除令牌但没有成功
getToken(getMessaging(), { vapidKey: environment.firebase.vapidKey }).then(
(token) => deleteToken(getMessaging())
);
FirebaseError: Messaging: A problem occurred while unsubscribing the user from FCM: FirebaseError: Messaging: A problem occurred while unsubscribing the user from FCM: Requested entity was not found. (messaging/token-unsubscribe-failed). (messaging/token-unsubscribe-failed)
我的配置和代码似乎是正确的,因为如果我 运行 我的应用程序在 Firefox 浏览器上,一切正常并且令牌是正确的
我怎样才能解决这个问题 ?有没有办法强制 firebase 刷新客户端令牌并生成另一个 valid 令牌?
我终于解决了这个问题,转到 F12(开发人员工具)> 应用程序 > 存储 > 清除站点数据。 Firebase 现在生成一个新的有效令牌,可用于调用 API 函数。