Creating Firebase topic for each user

后端 未结 1 989
我在风中等你
我在风中等你 2020-12-16 05:05

We have a design approach which is creating a topic for each registered user.

  1. Creating a new user
  2. Save it to our database with a generated token
1条回答
  •  有刺的猬
    2020-12-16 05:29

    (I am moving my comments into an answer)

    Most of the times creating an FCM TOPIC per user is NOT a good idea.

    Messages sent to an FCM TOPICS are public. Any user (even from a different app) can subscribe to /topics/{user-name} and receive those messages.

    Example:
    Another developer can copy the google-services.json file from your apk.
    Then he can subscribe to any topic.
    To intercept your user messages the attacker still need to guess the {user-name} or any other identifier you are using. But if you assume this can happen then the issue is big because you would never know if someone is receiving a copy of your messages, and you usually never change {user-name}.

    This is not a security issue of FCM. This is part of the topic API design.
    If you need secure messages you can send them directly to the device token.

    If you still want to do one topic per user, please pay attention to not send sensitive data, or data that should not be intercepted by third parties.

    0 讨论(0)
提交回复
热议问题