firebase 云通知令牌可以包含哪些字符?

What characters can firebase cloud notification token consist of?

firebase 通知令牌可以包含哪些字符?

官方文档没有透露太多关于令牌的可能字符:https://firebase.google.com/docs/cloud-messaging/concept-options#credentials

我怀疑我的应用程序的安全性阻止了某些令牌,因为我在我的后端看到了这些类型的日志消息:

The request was rejected because the URL contained a potentially malicious String ";"

token是否可以包含';'字符?

通知令牌应由带有破折号的字母数字字符组成。 错误是报告 URL 本身包含恶意字符,但没有说明来自何处。

我会介绍一个 catch,它将 URL 及其有效负载编码为编码的 URL 字符串并保存以供进一步调查,最好是一个专用于它的实时数据库存储桶。

然后您可以解码 URL 以确保 URL 和有效载荷是安全的并且没有其他问题。

Javascript Encode URI Component

Javascript Decode URI Component

API 合约未指定 FCM 代币的格式,因此您不应尝试依赖此处的具体细节,因为它们可能会随时间发生变化,恕不另行通知。如果以 URL 格式传递它们,则应将它们视为通用字符串并正确转义它们。

目前,字符包括 base 64 encoded strings: 连接,因此字符列表包括 A-Za-z0-9+/=:(同样,这可能随时更改,不要试图依赖在你的代码中。

不是你问的问题,但这似乎不太可能是你错误的根本原因。如果您可以对问题进行最小限度的重现并显示一些证据表明它是由 FCM 服务引起的而不是编码错误,则可能值得 submitting a bug through support.