为每个用户创建Firebase主题



我们有一种设计方法,该方法正在为每个注册用户创建一个主题。

  1. 创建新用户
  2. 使用生成的令牌将其保存到我们的数据库
  3. 在Android上的用户登录时订阅/topics/{user-token}或iOS设备。

因此,如果用户有多个设备,并且如果要发送特定的用户通知,我们只将其发送到/topics/{user-token},因此所有设备都会收到。

我们尚未遇到一些用户的任何问题,但是Firebase限制是否可以,这是一个很好的方法吗?

(我正在将我的评论转移到答案中)

大多数情况下,每个用户创建一个FCM主题不是一个好主意。

发送到FCM主题的消息是公开的。任何用户(甚至来自 不同的应用程序)可以订阅/topics/{user-name}并接收这些 消息。

示例:
另一个开发人员可以从您的APK复制Google-services.json文件。
然后他可以订阅任何主题。
要拦截您的用户消息,攻击者仍然需要猜测{用户名}或您使用的任何其他标识符。但是,如果您认为这可能发生,那么问题很大,因为您永远不会知道某人是否正在收到您的消息的副本,并且通常永远不会更改{user-name}。

这不是FCM的安全问题。这是主题API设计的一部分。
如果您需要安全的消息,则可以将它们直接发送到设备令牌。

如果您仍然想每个用户执行一个主题,请注意不要发送敏感数据或不应被第三方拦截的数据。

相关内容

  • 没有找到相关文章

最新更新